From patchwork Mon Apr 30 22:24:13 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Colin NG X-Patchwork-Id: 8702 Delivered-To: ffmpegpatchwork@gmail.com Received: by 2002:a02:155:0:0:0:0:0 with SMTP id c82-v6csp3959707jad; Mon, 30 Apr 2018 15:24:25 -0700 (PDT) X-Google-Smtp-Source: AB8JxZrrJ/+UkpyQKYfvDib4CW1Yve8ms9rfgnbxlR1tyqZiGZmsmYwQsBsicVdpsXt012JOtU9Z X-Received: by 10.28.144.75 with SMTP id s72mr8237283wmd.85.1525127065375; Mon, 30 Apr 2018 15:24:25 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1525127065; cv=none; d=google.com; s=arc-20160816; b=n4c6t08Ns+cQDoDBwMqUML3WILJB2wY7ybqdbOPFuzg9sM9pyg50Xh/+wO1WQiBh5w Cj2OG65UV8qITY1qCMM8X0fnB9OIfM04+uZVh8r6FHqsc++5iuvYCOnbgl3JEhuOhhmJ 8Ufpp+Ap3drmQPBjcSy6u9O71m1mEWxv2WFarrGDzdj32/OQIZE1w/vgUGHPrM0gPhb8 E3IrQNNbsLg4SzZ8A5DTreGhSAuMvkZM9gVpACkHvEa5d/9hE3NE28LHntXQCByW89Q2 Wda1uGAMV1/VgrMVrhDnsxq7EkQNls4PC9T5LV2eeF4fkvXgK90hBLir+dj6mcM+R2LW T9nA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:content-transfer-encoding:cc:reply-to :list-subscribe:list-help:list-post:list-archive:list-unsubscribe :list-id:precedence:subject:mime-version:content-language :accept-language:message-id:date:thread-index:thread-topic:to:from :dkim-signature:delivered-to:arc-authentication-results; bh=Ht+aMYboqkpm4gnfcY9taOqv4XOk0eJjmMD6OiQGAlg=; b=paVxvVrPJKGrdL5B4IHjmfVHpUjD2o+5EW18rOrOkiFRmN7pzua6izPOUKALnq7QXQ MYNhdhko9tPp0E/mVDMCRV0xWcKydDsNQm6o1tIhjeSLToL6VaHT/hA8cTI2CQ83hl1Z uA1KiC5DntZXV8UNduQ+HDB88DsSMdznz232nJGfmE2Tj9CwLiMNzjuP+KiGGjf33pFN i3tSQ0aDOwvdCZCY3KMmZQigWCTDWJMM3vgCfrowxw1z4GX7SYAkg/sXIABYCCjVQZuC 4LFiJjVoxWggKaMKvXQUsyqqaoiMgHkTk8luKl+eUD3luohNhEJKCvT3sSb1b5srw/S3 nU0Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=neutral (body hash did not verify) header.i=@hotmail.com header.s=selector1 header.b=h+Kb/G6e; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=hotmail.com Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id o10-v6si6834637wrn.149.2018.04.30.15.24.24; Mon, 30 Apr 2018 15:24:25 -0700 (PDT) Received-SPF: pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) client-ip=79.124.17.100; Authentication-Results: mx.google.com; dkim=neutral (body hash did not verify) header.i=@hotmail.com header.s=selector1 header.b=h+Kb/G6e; spf=pass (google.com: domain of ffmpeg-devel-bounces@ffmpeg.org designates 79.124.17.100 as permitted sender) smtp.mailfrom=ffmpeg-devel-bounces@ffmpeg.org; dmarc=fail (p=NONE sp=QUARANTINE dis=NONE) header.from=hotmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A802068A2C6; Tue, 1 May 2018 01:23:50 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM02-CY1-obe.outbound.protection.outlook.com (mail-oln040092004095.outbound.protection.outlook.com [40.92.4.95]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 21303689D80 for ; Tue, 1 May 2018 01:23:44 +0300 (EEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=hotmail.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version; bh=lfjyvBw/PfYP73P8zl16H4+vi2yid4sx9lhb0WUPYIk=; b=h+Kb/G6e+jvcfDfum7o6KTPC8a+JQDEzu+s3Exi0nTQJsKXKYhEW12PJD3F/F3v+c60DevcnBExw52FBHmYVLN66fppb2/Zi2w6+VeXlDoS6d2n7QYtmnKNtCyY5lRZj+xRAZOfTpu06d5NcIb77sDD+ZSn8uWzHfRpHGI/rB1ILsIzEQGFwi8m18KyIn55q/KXJDLwNem4Iq9q8ke5FSAMoBXP1at5942hzmKW6ghFZjWTp1slEDsZlT8TnsMmGrHCyhzmwhtf4kYs7l2hwRl7oe/4z1wAldeluQm1J+/cogFeSIrubZhceEDoh6qsVVeEUMkWmFoPGd69v6J69sQ== Received: from BL2NAM02FT041.eop-nam02.prod.protection.outlook.com (10.152.76.60) by BL2NAM02HT223.eop-nam02.prod.protection.outlook.com (10.152.77.218) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384_P384) id 15.20.715.13; Mon, 30 Apr 2018 22:24:14 +0000 Received: from DM5PR22MB0681.namprd22.prod.outlook.com (10.152.76.51) by BL2NAM02FT041.mail.protection.outlook.com (10.152.77.122) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256_P256) id 15.20.715.13 via Frontend Transport; Mon, 30 Apr 2018 22:24:13 +0000 Received: from DM5PR22MB0681.namprd22.prod.outlook.com ([fe80::3050:f9e1:7035:9927]) by DM5PR22MB0681.namprd22.prod.outlook.com ([fe80::3050:f9e1:7035:9927%18]) with mapi id 15.20.0715.018; Mon, 30 Apr 2018 22:24:13 +0000 From: Colin NG To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH 1/2] libavformat/dashdec: Fix for ticket 7149 (Segfault when decoding dash streams) Thread-Index: AQHT4NH3x1sPMAJfZkOSBFvofEi2Ag== Date: Mon, 30 Apr 2018 22:24:13 +0000 Message-ID: Accept-Language: en-CA, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: YQBPR0101CA0036.CANPRD01.PROD.OUTLOOK.COM (2603:10b6:c00::49) To DM5PR22MB0681.namprd22.prod.outlook.com (2603:10b6:3:fb::23) x-incomingtopheadermarker: OriginalChecksum:A9227C0D0C069EB364648B871926C2A3C8702FF4242A7D5620DC4A72746BCCFE; UpperCasedChecksum:4C84FF4EC1FB2EEC6AD9D02E4472FDD38BCAA575617B7A05B9F7B1838C502C91; SizeAsReceived:7377; Count:48 x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [Y7/TsHxtM7EXjpWOBgE2uoLdYGqETSdW] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1; BL2NAM02HT223; 7:T4DQhbaWWvX6LMG74eWrcAoqIGyNs6XIqNKwKh5U1CDOP1AflOevUGOY05xrvqaeHjzBL/gwIBBF/3XkOjOTq29k47OQsIqhqEpuRaKvE1FddVAMm6iGJWGK8iVs2p6jQuKUYN471eJo8Pqg1bvehf8XGmzlEzR/TgtQ+QTLqYjTub6e2jPm40tfvGyeYQV30aJE5VaTesL4SMP5zDbZ8m0O9GHzpIrre3WaFx9O7Yi8dwbq7aaBUmFJngwbcEUD x-incomingheadercount: 48 x-eopattributedmessage: 0 x-microsoft-antispam: UriScan:; BCL:0; PCL:0; RULEID:(7020095)(201702061078)(5061506573)(5061507331)(1603103135)(2017031320274)(2017031324274)(2017031323274)(201702181274)(2017031322404)(1601125374)(1603101448)(1701031045); SRVR:BL2NAM02HT223; x-ms-exchange-slblob-mailprops: gjx25WM8ZNWDLNYE1270853gEtvkFpW2fBgXok783go3jNbEXJLmgE8VYC0jr0HGW0dp23fTPxPF5f0jTAcOyV02kFupEMVQgoa9HzRniMybZ1lw0kF3pEZnVhrx2esT8gWdm+qBND4FXGV0q8QocexuNN31oyc9uerHGKelvH6km/5dpWmceg91hf0CjaS3bSFHb1kyn8PyGFpRLzTqOfoJquzNcxbGPGAdG7W9eN8vZaX6qhodNr5/IQnwda7hVlKJ/ZFFc+bGU2W84XrNtPedx8ZNGskaTHkTtw4CDbLvj4vRjD0gHq+m1jcBgBAQPLzSf7G9UN7zneGQV89bKLZ9a4B/ajqsJ21kHc3ZjDwfbfXukHlk8Pzs1C+R4jMH6BXqqD2kGo4h6LSSi4rWQ9bb9uXdRmPIw7UkoQrsNt4FLkjKSSH/VMxU/e9ij58u8vsQSVoCYiN/cK9HH6Bk2ztjFTXInhmhmzadudamEKlF7qcUx4luJgHTeQTpc13KTGCQw3kvL5gOavtYyWkQ3rSpxne0g8GAIVbOKOucxwfqFBX4FDE33tHVkmXyFPJkZ8nnX8yetca9RERCsPGIvbN9f8Ydm6avzcMlLJhgnJ7OCFcfpVcuGnEnO3hdfLb6jMQhg4M56UYqVZ+sG4cme7JivC/PL9pMyUz/Fzso6yIFIoK5hnEmMXBwg8vxCj3MUHa4XsfAasCtM6Kaalubn2Vfbi33odH+7cszxEO9Gl4= x-ms-traffictypediagnostic: BL2NAM02HT223: x-exchange-antispam-report-cfa-test: BCL:0; PCL:0; RULEID:(444000031); SRVR:BL2NAM02HT223; BCL:0; PCL:0; RULEID:; SRVR:BL2NAM02HT223; x-forefront-prvs: 0658BAF71F x-forefront-antispam-report: SFV:NSPM; SFS:(7070007)(98901004); DIR:OUT; SFP:1901; SCL:1; SRVR:BL2NAM02HT223; H:DM5PR22MB0681.namprd22.prod.outlook.com; FPR:; SPF:None; LANG:; x-microsoft-antispam-message-info: 2BibPaA0LqKJXY9t7B/zi4ucNnXSHP82h5J0JKc5cIuUYxRkQMhVFEeoXfImWYEulg+26g/Ghbtr8BelflaKKtH9v8E+SYe+FSuJKLGTLdtAOxzPkewLG3aXLqhKM8fklRWvCCocnJPpEHZLmNNBd4ChnaHmBYsw3c5rxvQllUx3hnJJWYc0uIbJ4jYDsnq4 MIME-Version: 1.0 X-MS-Office365-Filtering-Correlation-Id: f4423265-bcec-4ba3-96bb-08d5aee91a24 X-OriginatorOrg: hotmail.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 9bd8b953-1c55-4da7-b616-8bcad099ae8b X-MS-Exchange-CrossTenant-Network-Message-Id: f4423265-bcec-4ba3-96bb-08d5aee91a24 X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 9bd8b953-1c55-4da7-b616-8bcad099ae8b X-MS-Exchange-CrossTenant-originalarrivaltime: 30 Apr 2018 22:24:13.9199 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Internet X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-Transport-CrossTenantHeadersStamped: BL2NAM02HT223 Subject: [FFmpeg-devel] [PATCH 1/2] libavformat/dashdec: Fix for ticket 7149 (Segfault when decoding dash streams) X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: FFmpeg development discussions and patches List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: FFmpeg development discussions and patches Cc: Colin NG Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" - Add NULL pointer check for init_section --- libavformat/dashdec.c | 30 +++++++++++++++++++++++------- 1 file changed, 23 insertions(+), 7 deletions(-) diff --git a/libavformat/dashdec.c b/libavformat/dashdec.c index 42202e0..c6f350d 100644 --- a/libavformat/dashdec.c +++ b/libavformat/dashdec.c @@ -1877,25 +1877,40 @@ fail: static int init_section_compare_video(DASHContext *c) { + char *url =NULL; + int64_t url_offset = -1; + int64_t size = -1; int i = 0; - char *url = c->videos[0]->init_section->url; - int64_t url_offset = c->videos[0]->init_section->url_offset; - int64_t size = c->videos[0]->init_section->size; + + if (c->videos[0]->init_section == NULL) + return 0; + + url = c->videos[0]->init_section->url; + url_offset = c->videos[0]->init_section->url_offset; + size = c->videos[0]->init_section->size; for (i=0;in_videos;i++) { if (av_strcasecmp(c->videos[i]->init_section->url,url) || c->videos[i]->init_section->url_offset != url_offset || c->videos[i]->init_section->size != size) { return 0; } } + return 1; } static int init_section_compare_audio(DASHContext *c) { + char *url =NULL; + int64_t url_offset = -1; + int64_t size = -1; int i = 0; - char *url = c->audios[0]->init_section->url; - int64_t url_offset = c->audios[0]->init_section->url_offset; - int64_t size = c->audios[0]->init_section->size; - for (i=0;in_audios;i++) { + + if (c->audios[0]->init_section == NULL) + return 0; + + url = c->audios[0]->init_section->url; + url_offset = c->audios[0]->init_section->url_offset; + size = c->audios[0]->init_section->size; + for (i=0; in_audios; i++) { if (av_strcasecmp(c->audios[i]->init_section->url,url) || c->audios[i]->init_section->url_offset != url_offset || c->audios[i]->init_section->size != size) { return 0; } @@ -1960,6 +1975,7 @@ static int dash_read_header(AVFormatContext *s) ++stream_index; } + if (c->n_audios) { c->is_init_section_common_audio = init_section_compare_audio(c); }