From patchwork Wed Oct 6 06:00:49 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30921 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp54536iob; Tue, 5 Oct 2021 23:01:06 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwsiGjuJYjcGP0Y08rgdkl0WRAQycFtv1aKXUH90m/STxwbRvz3hVzOgz9C5M0oWP3GoSNK X-Received: by 2002:a50:bf07:: with SMTP id f7mr32025741edk.288.1633500065928; Tue, 05 Oct 2021 23:01:05 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id j1si17500080ejm.506.2021.10.05.23.01.04; Tue, 05 Oct 2021 23:01:05 -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=ZIup7B3Z; arc=fail (body hash mismatch); 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=NONE 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 6771E68A9FC; Wed, 6 Oct 2021 09:01:00 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2084.outbound.protection.outlook.com [40.92.19.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0ABBF68812E for ; Wed, 6 Oct 2021 09:00:52 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=J3t9nkx5QlIXmF8g577Y4/fzVgWBKE5ay0nGTIZoP3WIHkqdTw6jUDMMwIAHYVC8FMSMMDU+AgIJLWmnAy6IbYg/Hk6tLyIG8/jKZ7lGpj8BuqNOWNXPo3LDQgActfTYCjnm8xkIrj+poUAO8MSIIA+8ruWRLylNW/vIetEQtu3QzqHAICVlobDxQNYwNhIB70bpgBjnYOoc9Id89UXWnb4yMcA3uXpHWmsv+Npx/L+9NK2gihrhkQXn02mKyE7qBplAOGxzADFUmi4+97Gkiget7XB4lhXZJlwKtldo+ZdJ35kgyQgovOCLtzhMtyAzO9vQCfI66kgjgJTwN4RS3g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=lMBaZfgYofJC8CSKB4cn3MrUIecONBNKfZ9712zhPLg=; b=ge9I5zCAPNUzW6jcrlucVCspZtXhQXyv8TRs1yiKMXIC/64FRDa/ZOVh7H93hCXLH5mK7tS14BBhrwIgvSLMUDooDJmFR7LmuBbiwCBn0UvzWwHh+9JrEOjoiwNQSu8iKOFqxkTh9JTC5U+0eOXEkgIyt8/8cMM08c5tEaIfkU0ikmg8ThL6z/0UIV6o1tbJ8NDnx+KkTgZywuUvPQ+fiSdd9caWb9djjtDUysqULBxfQIOEcMGFLLevMEHFbTX3L0SGdBU2CZnAjMvRMYmPVtybTGzwX+lq9ztoaTRPlKGKDLwRrlHDN0LtrVNAjSJUMHKR9hsghRtmcKtrUCoxgw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=lMBaZfgYofJC8CSKB4cn3MrUIecONBNKfZ9712zhPLg=; b=ZIup7B3Zr+8yS1LBP76wQaE7mRICY25y6lTl+XHo+i+wUDxMsmQJgGgm9BybdLb6+X9c6NtRRhWoPhltmsfmjhEHv2mKt+nibNb+cbMaGH5o9GX/tFV/GBEvkQLyMJMUw9+/ZTqDAFdRuJFZkNO1NjFo1sSN1F1XPWrZKk9lL/g9TTkqTnAU8XefSfqV2JGZR31HFROtFe93AogyET67RjrhL/PknpAlD/6JBLxSuDDdIsH+qwwIQZqKV1z01hd56Kb2iQFi3xQt2k4ExHv+6NJZWWg1QIY1eLPMUlgh5kBkkjUPVFtgMi+SvPTnmboi+1wYLSNkNeeWHVHDz2UZYw== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:00:49 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:00:49 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 01/11] libavformat/asf: Fix handling of byte array length values Thread-Index: AQKUuelGysaiverbZdmESUJxKhLX8gEhLYwH Date: Wed, 6 Oct 2021 06:00:49 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [85IRBL5FxeqMPZqnll1Gv8nr6eYAI8g1] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: f2fc248c-5d77-4ece-c2aa-08d9888ea594 x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: IZjoOqwbITkVUtcPAHZLC8OFIysw8TB08+2glEBcmhIcDnAq6TjQnhNTjqVfwT779NRrFL54f8JXZUcjXlHI1Wj2Evuma1N4FoLyoS3rwRKhMkJZ9IOnMM+rqj02K+B4SIZWAwNoHxZFFZb5Aqefe31P800K0nQAHnG3wwv7ZJhvqqWK0rJi0CDZG2DXUpzKkaNaIlZPf0DyWV0TVbmw/itJrNpcYWt9enWM9eYzrDuujFk80KYy0oQIUOublOashGSWSq10t7aw+ek1FmWqJjOrEWPNRZTWzEWqceX8tuGTKPQLmhG/Zt9ycumgzYOpz59gjnIlnuhxMDVUVeGNlpr2h4qr7RhYKONuKmY4LzcW1cClWYQXA3K2JtyDM0HBWNAYH6uJg3diW/DLXGenrWZI1siqxni3WK98cVLA0LPX0wKNkJDMCmY/LXHc1W3i x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: MPTAPAJtv2ehEmJ/sz0EkMUOdm4jm1BEqlBvRmwcbbSZvCvQ0H8WGTm9bhm/obvQyjdBjcVRwiYt0Xvj02J+9C+V5+wDJFgZilKfdXu8wVSoek6HCrovWF9b+6IppBCIwj/U1JTmA1YzjDiOk+9kyw== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: f2fc248c-5d77-4ece-c2aa-08d9888ea594 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:00:49.3539 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 01/11] libavformat/asf: Fix handling of byte array length values X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 4lbrTydHHSsU The spec allows attachment sizes of up to UINT32_MAX while we can handle only sizes up to INT32_MAX (in downstream code). The debug.assert in get_tag didn't really address this, and truncating the value_len in calling methods cannot be used because the length value is required in order to continue parsing. This adds a check with log message in ff_asf_handle_byte_array to handle those (rare) cases. Signed-off-by: softworkz --- libavformat/asf.c | 12 +++++++++--- libavformat/asf.h | 2 +- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/libavformat/asf.c b/libavformat/asf.c index 1ac8b5f078..179b66a2b4 100644 --- a/libavformat/asf.c +++ b/libavformat/asf.c @@ -267,12 +267,18 @@ static int get_id3_tag(AVFormatContext *s, int len) } int ff_asf_handle_byte_array(AVFormatContext *s, const char *name, - int val_len) + uint32_t val_len) { + if (val_len > INT32_MAX) { + av_log(s, AV_LOG_VERBOSE, "Unable to handle byte arrays > INT32_MAX in tag %s.\n", name); + return 1; + } + if (!strcmp(name, "WM/Picture")) // handle cover art - return asf_read_picture(s, val_len); + return asf_read_picture(s, (int)val_len); else if (!strcmp(name, "ID3")) // handle ID3 tag - return get_id3_tag(s, val_len); + return get_id3_tag(s, (int)val_len); + av_log(s, AV_LOG_VERBOSE, "Unsupported byte array in tag %s.\n", name); return 1; } diff --git a/libavformat/asf.h b/libavformat/asf.h index 01cc4f7a46..4d28560f56 100644 --- a/libavformat/asf.h +++ b/libavformat/asf.h @@ -111,7 +111,7 @@ extern const AVMetadataConv ff_asf_metadata_conv[]; * is unsupported by this function and 0 otherwise. */ int ff_asf_handle_byte_array(AVFormatContext *s, const char *name, - int val_len); + uint32_t val_len); #define ASF_PACKET_FLAG_ERROR_CORRECTION_PRESENT 0x80 //1000 0000 From patchwork Wed Oct 6 06:00:51 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30924 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp54692iob; Tue, 5 Oct 2021 23:01:20 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyiGO4YMLGeww4L87LNONEznSda6HApvv3HSNHKsTyDnnl5On5ByQXxEDWV86xotxu0M6NK X-Received: by 2002:a17:906:c7d0:: with SMTP id dc16mr30809080ejb.555.1633500080126; Tue, 05 Oct 2021 23:01:20 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id n22si2473333eda.113.2021.10.05.23.01.19; Tue, 05 Oct 2021 23:01:20 -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="mgy2Wj/F"; arc=fail (body hash mismatch); 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=NONE 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 8679C68AA54; Wed, 6 Oct 2021 09:01:04 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2084.outbound.protection.outlook.com [40.92.19.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6148468812E for ; Wed, 6 Oct 2021 09:00:58 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=JhSGxQqubW6OhLuvOR88gidJGNSk/P3y/BJOjl7MH+lPzFqjBAZzAD+OyhPtQC+LWau6Lt+h6E9H9NALijPlWt1tVTnkNdOe+ahh+9CfdHduMcR5UQKU023ZYv1GnwVl5BZNLl1CUWHaekRmTtW1FJJ/GxsgeZ9rq9YH1Fk45KzwiUYs2EaqrpNp4lJrzvPz1ZD7D8GoveQ6+ICTa5W4hamzHRzgd/0IUcCwH7/r7DO4/PorpLswGza3MWZozvW3aWsftxiAScP+SZpeUVsdepV+bl/V8lXUJgHPASwpFFj5bCmzoozuzIuCeECWQgFWHvGS0JSb5mI/PGzdCYBNzg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=LOlnfkl3v9wMMmrS/GM3Owj6lZYimq3sTXViLGAwyV4=; b=kTZKnvt+rHhAsvslGB2Muq5KDlh6hZcCJ6B3ekJJLW9hV8BkHuW3V0DGt0o3Zs3an2bmLXc4HdWNtWniCKjsiIzKibOy4Ug+K2Xec21j7ujASk7YNi7wqBcPGIZh9VM6AfTWgvs5Wj6mwg5x1fryETIgXh5PJHx6s6A+3ADk3wuhDldoQrSDe7m3qi0r0sJhW42h08P24edqd8Xyq3Own5JxjF+ZHf3X9l+4iq4hxy1XkIpmxJjDU1nev9ZSVNS6O5WzIN6pA22neJhc7cfZhN3Rid2MYWEt5SF57LFmrTRnP/eTdOBJ7VnvYghh9yIHkSLlnK1HBpaBTtoZ1n1FfA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=LOlnfkl3v9wMMmrS/GM3Owj6lZYimq3sTXViLGAwyV4=; b=mgy2Wj/Fx+3VfSJk2bUbJDQmxMCDu630HoM+dob7+eKs/EzL3rqY/IgVGz6GgC2XZw/lndgMh0a6JJmv1M693/Ina1nyB2OIAuhNYRDYNtBEcr6d+C4MAJGARlKfDY3rHRUhSj8KPe7/kCb8ZL7+N37F/Qb3r0HiPU3I86UeYDmprzhBPb/9FLumiHM34YYkLo4Q6c8YxmTntlXtTYtTPRYxkyn+cjWtgfnq5tZVhVN43QWmLHasMxYxkNl78mCGrDAoD/XLuMTJvuE7XyPdagW8PO5yD9po+iT0PvRSDlOjnKmV4iY3LQUtvN+N0nKqgYrS48T25h4YYmj8xDKwiw== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:00:51 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:00:51 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 02/11] libavformat/asfdec: Fix get_value return type and add checks for unsupported values Thread-Index: AQHXuneEhvpKpv9330GCLtljmq5dLA== Date: Wed, 6 Oct 2021 06:00:51 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> In-Reply-To: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [kZN64998EfqCeT7s2fhXNSC/bOzkySJW] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: ca38bf1a-b1ae-406e-16df-08d9888ea6f8 x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: AztzBqhzZcC1D7/BtVK1DecizgA1bweDxJvKmeBCj+CDWehd6wZHQh7VpsjbatxtfyAXC4MD60M2F5L4hosc3yR6fcVnAk99nyVR+0EsTHBiL9vqsz9BVDnrPd/hnaJwz6EVhtUVwljbTFRKNn0TyB/HzglK7qm4kstCFb0cKIOw/nrPTDpsA1BjR0r08UKHXCHgYTWNIYvpimT9BPR9aftWbZpZ/zrOuRLP/qBNsKd1+dM8Cwgi7rxa9h/fr2fTOxLpraGbYhA62ScQWzPzMT/6wKufwpmoBHmOEqXwdVqS96yM5R3K962Xu+DpPCYaR0dbIod1HSTwxkf6+wTCwDfS0kI5ptoPDNLz19At1k3mlqL5xp9xXuAfbafIn8i5atB7ai45BcefC58M+lItz00mOkzHG0fohJDZTcq+auv4Y9opiIC1PPbtgWFRrMw1 x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: zgZLJbf5QbZZs11CmKaF0g32445AaWnrkoNOKx0CYzIz3g4xGv5zwbfE/z6estSEk76dPc0iDgOl4bYa5ZMZVv9WiTPkwlqVnoTrZuMGQC0R/HU2rPzXLh1J2Bd7wOjCF24bhQRxt997/T+MaW04yA== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: ca38bf1a-b1ae-406e-16df-08d9888ea6f8 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:00:51.6646 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 02/11] libavformat/asfdec: Fix get_value return type and add checks for unsupported values X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 7CA9//boU/Dp get_value had a return type of int, which means that reading QWORDS (case 4) was broken due to truncation of the result from avio_rl64(). Signed-off-by: softworkz --- libavformat/asfdec_f.c | 38 +++++++++++++++++++++++++++++--------- 1 file changed, 29 insertions(+), 9 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index a8f36ed286..d31e1d581d 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -202,7 +202,7 @@ static int asf_probe(const AVProbeData *pd) /* size of type 2 (BOOL) is 32bit for "Extended Content Description Object" * but 16 bit for "Metadata Object" and "Metadata Library Object" */ -static int get_value(AVIOContext *pb, int type, int type2_size) +static uint64_t get_value(AVIOContext *pb, int type, int type2_size) { switch (type) { case ASF_BOOL: @@ -567,10 +567,22 @@ static int asf_read_ext_content_desc(AVFormatContext *s, int64_t size) /* My sample has that stream set to 0 maybe that mean the container. * ASF stream count starts at 1. I am using 0 to the container value * since it's unused. */ - if (!strcmp(name, "AspectRatioX")) - asf->dar[0].num = get_value(s->pb, value_type, 32); - else if (!strcmp(name, "AspectRatioY")) - asf->dar[0].den = get_value(s->pb, value_type, 32); + if (!strcmp(name, "AspectRatioX")) { + const uint64_t value = get_value(s->pb, value_type, 32); + if (value > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported AspectRatioX value: %"PRIu64"\n", value); + return AVERROR(ENOTSUP); + } + asf->dar[0].num = (int)value; + } + else if (!strcmp(name, "AspectRatioY")) { + const uint64_t value = get_value(s->pb, value_type, 32); + if (value > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported AspectRatioY value: %"PRIu64"\n", value); + return AVERROR(ENOTSUP); + } + asf->dar[0].den = (int)value; + } else get_tag(s, name, value_type, value_len, 32); } @@ -630,13 +642,21 @@ static int asf_read_metadata(AVFormatContext *s, int64_t size) i, stream_num, name_len_utf16, value_type, value_len, name); if (!strcmp(name, "AspectRatioX")){ - int aspect_x = get_value(s->pb, value_type, 16); + const uint64_t aspect_x = get_value(s->pb, value_type, 16); + if (aspect_x > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported AspectRatioX value: %"PRIu64"\n", aspect_x); + return AVERROR(ENOTSUP); + } if(stream_num < 128) - asf->dar[stream_num].num = aspect_x; + asf->dar[stream_num].num = (int)aspect_x; } else if(!strcmp(name, "AspectRatioY")){ - int aspect_y = get_value(s->pb, value_type, 16); + const uint64_t aspect_y = get_value(s->pb, value_type, 16); + if (aspect_y > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported AspectRatioY value: %"PRIu64"\n", aspect_y); + return AVERROR(ENOTSUP); + } if(stream_num < 128) - asf->dar[stream_num].den = aspect_y; + asf->dar[stream_num].den = (int)aspect_y; } else { get_tag(s, name, value_type, value_len, 16); } From patchwork Wed Oct 6 06:00:54 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30922 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp54895iob; Tue, 5 Oct 2021 23:01:35 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwL9l+n3G1tYduAi517X21ICWejKaLb6rKrBy6BBEVVKsYDq9AqvWWWNm1/qrX/jYLXerkU X-Received: by 2002:a05:6402:518d:: with SMTP id q13mr32092071edd.143.1633500095495; Tue, 05 Oct 2021 23:01:35 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l15si35556354ejo.264.2021.10.05.23.01.35; Tue, 05 Oct 2021 23:01:35 -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=gH+eexkA; arc=fail (body hash mismatch); 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=NONE 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 B70C468AA67; Wed, 6 Oct 2021 09:01:09 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2084.outbound.protection.outlook.com [40.92.19.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B768268A8DC for ; Wed, 6 Oct 2021 09:01:03 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FRrI8Cq1YOeHiW19WIYDMVSJlC/s3TzZSkKfpS7yU1d3hv9pejLfJBW+LzUWc1fLDrAPEHZtviQs2b2DuflrU7adWMB/8qZaImOtZ62O+is3xT/Q131bBzgoPeIGgFEgXTK1WuxQ/Ag/QB8oeC1KSYriS0Q5a+DQj7GxPCLiPc7KPjCSl1qblIZscj1t42fRGNYjcSD85dtiVp2Nf7AUzs6QLiqTKFz0AvM9ynJ3r1iS6mSkVxc0Um2I8rRv83vmzzCNxsPwM+HBJmCl/jWDdTlIv+f/fDBHDQns94Ay0yzfjafIBIyhh+c83v/gLrmrpAHyJQzfzKMB5gIhNOrmpg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8kPkMQntXNT0PISGQgRT8PKpQuCUQ3b2VRvto/x2KDg=; b=WehKYoxMudf/2zG6pl8vQ5gBDJAqADH/zxCMbaBFN9HEcwoDezcs7UxKc50XxoEqPkA+ppDphWMz0ikZ11spUcXVBib1365GCP6fAEAzw1CIOFmg3727+2VGsww2LTqpsVFN36U1ix/3KVJ/09weClVrGzd5QCU4cCXgvZJbapvyc3Vc7VLBXH3Y27/VMLx2UUMBKT9Nh8Aq/LTbh24P48FO6G54hFR3S7Sf5XzlPMeExrr463A/k01vqDQ8uAsOsJEx6B0emQ1ceQiJWrHG9SnUHtVraKVCo8W6jQ+wrqKb3EmSZ8JZlg+YrfDYUOtm7gzP/wc48hAHhR5OPAaWJw== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=8kPkMQntXNT0PISGQgRT8PKpQuCUQ3b2VRvto/x2KDg=; b=gH+eexkAZiyAkdTrLKpFo89q3JGJG8/5h8zKSsdiFvKdYybtR/ufRifqbkV1jhbp1GPXqkmMgJj7kd+A+12cGyBY9/lEmvXwsr2CZDokpSTT6+G1M8hLGHYdlhbVnI0vx86BUrrUqDymrtfPWX8umde0j1t3T5eRw2ALGuU3kaFpi8R+DRwRUwQvTFo5Um8E0I55vlrC4dw7xVrcvEpFm/k84K1HP639d1nOLen1ZF1kNqatNuHePfccUSz0TvY+PNUZDJ2pWw7qc8fuWiG6MFOMxw/QeJLxAtvt4S1cBtVi1PFrUxYQU5K0clcc4ikhZ9j4tefV7o3FUE1MJaJKIg== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:00:54 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:00:54 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 03/11] libavformat/asfdec: Fix type of value_len Thread-Index: AQHXuneF7oZqfqYBNEqQmFzTAPeCbw== Date: Wed, 6 Oct 2021 06:00:54 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> In-Reply-To: <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [SCkpuVSk7gkvCEBGFLqBD8wfx48UcE+t] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 0ce91482-5fdb-4955-6422-08d9888ea881 x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: kN30xQye/oIb6OaOXfjnQ6k2sDNZgqt9pAit2GLV01IXaNAJhkp6w2vd12G5ZVp4nT4bCMtmnv+VZpW6KdFrpIY1e8tv01Yc6T7oy6WnGqUHrvnDcPc9nBruh3IKa0dZfdmqvX/gITalxjYVTYlcv1QleP1z1Vjyc/tF3vJW5uAAry5e7Br6HS1wwVwm8Aqi/10f2uJtFLqOd7RLjMvge0IBzPpLVh9xwS5BJ4rFpUZ6NTKydTIRMbKYRids2yxY3/s26wm8N7J2wIikG0z0xBY8C6Brw1tO+D2DYqWcxGYDgcO2MxdVr6BL5M0lEP2ZX7wXanCpqaIxwt5i0ccMz4uhjbxBU5c4i/HI3xG614lVG+4b6P92BhZPZm/X05HmkvAp/wr0/xKmDsYyd3qjqS8rOJmxa2urmdjSfkfRRu9osx6GmO2tWh/PWG696Am1 x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: 23v1xIP7Di5tZkioBkjkJoqihBSqulFErHwRQEWqWqhL04O5SVbqK56xNHfaEeTDstUupeI7Ih8/SayHXNpShJunfp2QvzE1PB6NKNYd46s6nz735+0H54A6apQc32CBxgDChFnvZHKYW0sZ28kKIA== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 0ce91482-5fdb-4955-6422-08d9888ea881 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:00:54.2691 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 03/11] libavformat/asfdec: Fix type of value_len X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: jknZibjCBzg0 The value_len is an uint32 not an int32 per spec. That value must not be truncated, neither by casting to int, nor by any conditional checks, because at the end of get_tag, this value is needed to move forward in parsing. When the len value gets modified, the parsing may break. Signed-off-by: softworkz --- libavformat/asfdec_f.c | 24 +++++++++++------------- 1 file changed, 11 insertions(+), 13 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index d31e1d581d..29b429fee9 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -218,7 +218,7 @@ static uint64_t get_value(AVIOContext *pb, int type, int type2_size) } } -static void get_tag(AVFormatContext *s, const char *key, int type, int len, int type2_size) +static void get_tag(AVFormatContext *s, const char *key, int type, uint32_t len, int type2_size) { ASFContext *asf = s->priv_data; char *value = NULL; @@ -528,7 +528,7 @@ static int asf_read_ext_stream_properties(AVFormatContext *s, int64_t size) static int asf_read_content_desc(AVFormatContext *s, int64_t size) { AVIOContext *pb = s->pb; - int len1, len2, len3, len4, len5; + uint32_t len1, len2, len3, len4, len5; len1 = avio_rl16(pb); len2 = avio_rl16(pb); @@ -614,25 +614,23 @@ static int asf_read_metadata(AVFormatContext *s, int64_t size) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; - int n, stream_num, name_len_utf16, name_len_utf8, value_len; + int n, name_len_utf8; + uint16_t stream_num, name_len_utf16, value_type; + uint32_t value_len; int ret, i; n = avio_rl16(pb); for (i = 0; i < n; i++) { uint8_t *name; - int value_type; avio_rl16(pb); // lang_list_index - stream_num = avio_rl16(pb); - name_len_utf16 = avio_rl16(pb); - value_type = avio_rl16(pb); /* value_type */ - value_len = avio_rl32(pb); + stream_num = (uint16_t)avio_rl16(pb); + name_len_utf16 = (uint16_t)avio_rl16(pb); + value_type = (uint16_t)avio_rl16(pb); /* value_type */ + value_len = avio_rl32(pb); - if (value_len < 0 || value_len > UINT16_MAX) - return AVERROR_INVALIDDATA; - - name_len_utf8 = 2*name_len_utf16 + 1; - name = av_malloc(name_len_utf8); + name_len_utf8 = 2 * name_len_utf16 + 1; + name = av_malloc(name_len_utf8); if (!name) return AVERROR(ENOMEM); From patchwork Wed Oct 6 06:00:57 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30930 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp55099iob; Tue, 5 Oct 2021 23:01:49 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwd3WwmybiK3AeS7wLSLcFJ1iHXlvyolG2uunRpod4kO0aN+gI64HBG5ZcmNzYSEZVV64RU X-Received: by 2002:a17:906:38ce:: with SMTP id r14mr29613375ejd.268.1633500109265; Tue, 05 Oct 2021 23:01:49 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id co8si14655070edb.289.2021.10.05.23.01.48; Tue, 05 Oct 2021 23:01:49 -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=rKNpgxsi; arc=fail (body hash mismatch); 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=NONE 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 DFC7368AA6E; Wed, 6 Oct 2021 09:01:15 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2084.outbound.protection.outlook.com [40.92.19.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 1925568AA35 for ; Wed, 6 Oct 2021 09:01:09 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mUwSTg2KuhaxiRnWkDlE5qFeM7sOmtrYog/xvLtkDt2lpcD6U/IzbbTsUuhrCtIiTLo1u8to1m3KAwTaQFU4iIBvvwg+EeyAczuETmG7x/xQifuNvCw5BM/PLkz6Y5WFCqYePKMlmqm8vP+mbprNtoQn7Emhndda2R//ow22GioPYhxOJbcW6rx3gRz6Mp5xYhKdkMICeiRRxyFqvshu3VIrCPtsclsmBRaRaNyoPk6fiTVCTEZL7TGe2VZy5CAwJyMfWkJJHStTTubhCRWqMUi8SmckylaefyJfBC+RO56FfoNYk75hvECf4AIWNYystZss8jTzgfg2P1JXPzNoMg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=8/1qVnyEWCclIJGrC5fz3zmWsKjgmjo/UCTIclcZ0u0=; b=oTUF/5hOqYC4Go5AhXOnMASNGjQBc32ipHPU5RYhhpI5Ld8WsGOkm2Fr78F57TjOhpEF/hJTaDEeVYZBfeWrf+kZSMXfOjTt9+H8sVDaSbXaVdaW0S0l9L7vixrSC0Qbp1xr9OknRC1cHOIAG9NpHUxDTWfTAl0vQL1ttv1EwxulKfcpLyPjFhdnh0Nv9w2KMDrijfztpl5EyAYMxnGURnPhZWz++Lu4C0KLAd4zDHHnXqhRr3HNWb4rVXZa6/RM2XxXnNug77bBCX+WBNjpG9B/nmxxgHUuhQowBKNn/zgQIgfCoIzN02I7DrM15PYfluZajVH0qkuEIfLzNgPSWQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=8/1qVnyEWCclIJGrC5fz3zmWsKjgmjo/UCTIclcZ0u0=; b=rKNpgxsiDCOn6qZdnlQC/6vJ2RkrJmkgKHoCnyjAJMONgnLW7UHnp5pYz8Vm97/PQD0seYsipjc84CocPBNJFXNoCUSDIIA9yeV7f913csqdv0uKbz+qyfOcjNheZaUMeq8zUzAGXzaESTSVG9p9FjD9w/DktDj4e6A72NWqQhXGZNDkHm63AiSyhcajvinHHKzFrG0mwDqJxm69OqCrO59nSiAfBhtV7JQ0JhewQWS2EFsiSWptcn5oCcG1W1G3qLGSgSoAX0SbTCRG4hspa49C74Qac4KngVWts1At2cyd424Aj+ZmE5h/aQYmFUVcxW1GO+JS5OeDoA8/ZfLtmw== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:00:57 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:00:57 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 04/11] libavformat/asfdec: Fixing get_tag Thread-Index: AQHXuneH1LUrVoSWM0GByKev5ll04g== Date: Wed, 6 Oct 2021 06:00:57 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [bTiBb1ArPXZmDzeza1E/OqqpCNw/WhMc] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 24277f1a-c215-4667-5824-08d9888eaa6f x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: U3s6pS/jJ5czUo/4B3qNKx3PS2OrQzdVgtW+1kxgeYzFbewSDqfKofn4f4GXBRPCPyt9drRaIV1wFrH6ERRIgUvx4EtnWjS8Y8a6Y3+QBjm9ks7ZnmVPKHYueOTTxhnxKfYlptaF/IviKFhoERGCSacQ6tEWLqaXlziwjiYyZxt5uAV9ynh+ItsTMpiu85Zsw9r9KQWIJuRhWgjUdmN4uDli0fwFNipkZBhuc6jw8NQJJoAH7pL7Pnc2RDmpQSviZjvdxjYwc0+iPeLUwDPv3Fr56HHw/UBm6lLi7iQamecUJpttfUPVwAsr/yvqoaJBsW0ivT3NS0QnS5F9z/TiFbOcm2XokQUeRSjXuuvJVL6XzL4P2AVJUIqSoOBC27QhIQXQzvw520y04Gth3AVcm+MLIWjAqyPIy79RKhWnUiwqYcPh+IUs6AV/VNUgdHrl x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: l0OYZT1wWL4WN0U2d0fbimK+JyjNPlSdjIfG7HZN4Ta3NpbnBUNdu7bIXVZYHgY7i10jIWpxkvdixEbncywopGonPVZcMCjD0LMymb3gZNtJ+WnMfRbySZt2e11JuLobCo69mBHIKna04rCumcKs1Q== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 24277f1a-c215-4667-5824-08d9888eaa6f X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:00:57.5063 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 04/11] libavformat/asfdec: Fixing get_tag X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: AtBm3VkjtH+0 These three are closely related and can't be separated easily: In get_tag, the code was adding 22 bytes (in order to allow it to hold 64bit numbers as string) to the value len for creating creating a buffer. This was unnecessarily imposing a size-constraint on the value_len parameter. The code in get_tag, was limiting the maximum value_len to half the size of INT32. This was applied for all value types, even though it is required only in case of ASF_UNICODE, not for any other ones (like ASCII). get_tag was always allocating a buffer regardless of the datatype, even though this isn't required in case of ASF_BYTE_ARRAY The check for the return value from ff_asf_handle_byte_array() being >0 is removed here because the log message is emitted by the function itself now. Signed-off-by: softworkz --- libavformat/asfdec_f.c | 54 +++++++++++++++++++++++++++++++----------- 1 file changed, 40 insertions(+), 14 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 29b429fee9..58c424b565 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -221,37 +221,63 @@ static uint64_t get_value(AVIOContext *pb, int type, int type2_size) static void get_tag(AVFormatContext *s, const char *key, int type, uint32_t len, int type2_size) { ASFContext *asf = s->priv_data; - char *value = NULL; int64_t off = avio_tell(s->pb); -#define LEN 22 - - av_assert0((unsigned)len < (INT_MAX - LEN) / 2); + char *value = NULL; + uint64_t required_bufferlen; + int buffer_len; if (!asf->export_xmp && !strncmp(key, "xmp", 3)) goto finish; - value = av_malloc(2 * len + LEN); + switch (type) { + case ASF_UNICODE: + required_bufferlen = (uint64_t)len * 2 + 1; + break; + case -1: // ASCII + required_bufferlen = (uint64_t)len + 1; + break; + case ASF_BYTE_ARRAY: + ff_asf_handle_byte_array(s, key, len); + goto finish; + case ASF_BOOL: + case ASF_DWORD: + case ASF_QWORD: + case ASF_WORD: + required_bufferlen = 22; + break; + case ASF_GUID: + required_bufferlen = 33; + break; + default: + required_bufferlen = len; + break; + } + + if (required_bufferlen > INT32_MAX) { + av_log(s, AV_LOG_VERBOSE, "Unable to handle values > INT32_MAX in tag %s.\n", key); + goto finish; + } + + buffer_len = (int)required_bufferlen; + + value = av_malloc(buffer_len); if (!value) goto finish; switch (type) { case ASF_UNICODE: - avio_get_str16le(s->pb, len, value, 2 * len + 1); + avio_get_str16le(s->pb, len, value, buffer_len); break; - case -1: // ASCI - avio_read(s->pb, value, len); - value[len]=0; + case -1: // ASCII + avio_read(s->pb, value, buffer_len - 1); + value[buffer_len - 1] = 0; break; - case ASF_BYTE_ARRAY: - if (ff_asf_handle_byte_array(s, key, len) > 0) - av_log(s, AV_LOG_VERBOSE, "Unsupported byte array in tag %s.\n", key); - goto finish; case ASF_BOOL: case ASF_DWORD: case ASF_QWORD: case ASF_WORD: { uint64_t num = get_value(s->pb, type, type2_size); - snprintf(value, LEN, "%"PRIu64, num); + snprintf(value, buffer_len, "%"PRIu64, num); break; } case ASF_GUID: From patchwork Wed Oct 6 06:01:01 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30923 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp55304iob; Tue, 5 Oct 2021 23:02:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJw2iAQX+2TS+2Xzm6FLd+YsUcqXCa/HtsVneTwQK7IsF80ag0bI8ZpsfFbqtMcfVtSpNRHS X-Received: by 2002:aa7:da1a:: with SMTP id r26mr20787470eds.229.1633500123238; Tue, 05 Oct 2021 23:02:03 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id r19si27987507edd.309.2021.10.05.23.02.02; Tue, 05 Oct 2021 23:02:03 -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=Nq2jQV2t; arc=fail (body hash mismatch); 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=NONE 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 D3BE868AAA8; Wed, 6 Oct 2021 09:01:16 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2084.outbound.protection.outlook.com [40.92.19.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 7DE4D68AA68 for ; Wed, 6 Oct 2021 09:01:14 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=QoeLpHX3LfxD52D4Cge5zIm4OBk91YYEqOpNgfuz62pLlBjEhTIxhr6Bm7dBI6uIcalqulmfqVcVYOqbAqg6DfLm54kTN+J0lcbOjk20ROy5wdV6Rbzecixf7E7KhVhBUCmLsBuG1d5hAKlHn/z6CrD4mFsnNONuhjtwLB1aIPXl3w4Ej8KtqOWcAzAZqtZSWNkTt+KOUa8FevZkXXWDV63hit0t6FizRGviEmDFiUi2wYSaXI55L2KvJFdfACBVoA82NKbRsyHlzB+bFtE7ZEZ+eiRBG74hSkbQ5H7ne/hIRPdMfhk9FwbXpk0YO2zmcBE3VhF0v4Kj9owr/YbMyQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=IqHvW9pXB0uGuQyk+m8ATahmhu+vc9xwVHC91SrPulQ=; b=SXr3XDQn2woI4oZCxvg6QnfDtLU/khcBfoyazVZr9rIqZb2h52wdB0RZc3F0Jk70MZ14UpL7clIVICV7lKYuM68T9uwo/E229aSDjxQqfox63qZyLwVRgSbVQbFvTZbyCURlCW6M7mTiNdOBvigyFzg9+f1yOshuiO9i1v5E74DOmCs2u5JFCmpV6Ht77iT5nWVWPFFJmOn2IGw3bruhvKFkvGyJMpLxQMVbC1fvWm2hRu/VG649wZ+kBovG3QgTVmiyP8XOdKiIl33qbWL9WzHhUcuiet8O4HPC0AgDmFIwuB2zRjD0saXOSKPk4za8v/BslnFi8Z/YraO53nAhvg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=IqHvW9pXB0uGuQyk+m8ATahmhu+vc9xwVHC91SrPulQ=; b=Nq2jQV2tZPRbBJMsnM20FSMKjfk3TzCPK9bgYpRSGbhXqyyWctDRLrgibr4GQ79I43eXk0H8tdkPIHeZppDmtgHThjXNoMNwKntmPBhTphKOsAnmRQMSKLqptWYHeotFFB1663OX5KsNpNDaGHlF1K9ZUli4/QzIdMWKoSUe/ICRtBHvL1+PLbzf64pz3knlt2I9IiRMxcNoTzQsyU6Y0FsMZvHza4EN5sSS+AGQMIYqZmKzA22vdSCveCPlnY9zKWPY1x5D8u3daQpGKc7Ytvr2E2Z+HCecw+XskL/+NcE9Yh0hfLYUdo1xqqOdQjGdM3YCMH3OqvxOQI5iujRUsg== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:01:01 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:01:01 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 05/11] libavformat/asfdec: Implement parsing of GUID values Thread-Index: AQHXuneKzKptgfKvOkCabFBjdOUngQ== Date: Wed, 6 Oct 2021 06:01:01 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> <9f1f7004020091a995b54d8752172b9e429aed53.1633499980.git.softworkz@hotmail.com> In-Reply-To: <9f1f7004020091a995b54d8752172b9e429aed53.1633499980.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [7g33zXRugvFN0iGuE0kmOQmpnBc7Rnqh] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 060b12bf-3f80-41e5-e1aa-08d9888eacfd x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: sFha83Eqerq1Y5gYNkRwLgAiKgOzPh9vXSg3yfuhXPH0/A7Do5KFIrZTL7uLl+3KyY1yFPAmvRwZy2K6jnZrEgN09Bq1Av9ZObXe48GlCStkD6OdZl7zlU264F32gPyJQTx3I25UcbNgQUl6sAr0OIUu48JktqtkILtOrPfY+lFr7ikCyzTQ+sN2yacJcDdJIq77LppvVd14Ez5oxWUolPsFr/75iixunKX2d4hoITAZwE50KbA3CKfX03mokt2cZhXjxoR+S7DVpLjXJnh2bUR7/TdW3f+8qgMeoqQjtzisQBopp5erOlaL68a37b/Jz3TaikjY6vBtmnVPZ4IntBr1pWRTvlQf8mnw/qs+hfEQShnaaJsI2L3OYvmiX+ezmcw+JqR0kkZbIJeML1yUuoOFpooANlCookHtX5+3EvBMdlNH4yvBi0oWP7JdSxlL x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: LeHsq3oVHWZl1i2TWq9kDppW2cY4A7InqoKsZpRQ9IzPHT2QwxZUVOlKRI7a+0s6D8kftkvYiMhTejO3QNwunXeYIfIZ6v7DYQzFQ/oOhMp10M9P2gLKhrxrKvgvXs0yNWSMJnd4c5Iy11rz63/LJg== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 060b12bf-3f80-41e5-e1aa-08d9888eacfd X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:01:01.8309 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 05/11] libavformat/asfdec: Implement parsing of GUID values X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: tF+wu2Zdf4g5 Signed-off-by: softworkz --- libavformat/asfdec_f.c | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 58c424b565..4c898ab3f2 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -280,9 +280,12 @@ static void get_tag(AVFormatContext *s, const char *key, int type, uint32_t len, snprintf(value, buffer_len, "%"PRIu64, num); break; } - case ASF_GUID: - av_log(s, AV_LOG_DEBUG, "Unsupported GUID value in tag %s.\n", key); - goto finish; + case ASF_GUID: { + ff_asf_guid g; + ff_get_guid(s->pb, &g); + snprintf(value, buffer_len, "%x", g[0]); + break; + } default: av_log(s, AV_LOG_DEBUG, "Unsupported value type %d in tag %s.\n", type, key); From patchwork Wed Oct 6 06:01:04 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30928 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp55507iob; Tue, 5 Oct 2021 23:02:18 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxegHdOxe2LmkS7cMDYoFXuAYITO6mE7zH7C9+aqvs3jGo7TBzAsvVbVe1hHqnLAlS9waKs X-Received: by 2002:aa7:d688:: with SMTP id d8mr31494500edr.218.1633500138575; Tue, 05 Oct 2021 23:02:18 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id v10si4112576ede.451.2021.10.05.23.02.17; Tue, 05 Oct 2021 23:02:18 -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=lyqWPTWU; arc=fail (body hash mismatch); 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=NONE 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 C344268AA35; Wed, 6 Oct 2021 09:01:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2084.outbound.protection.outlook.com [40.92.19.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D3C6D68AA68 for ; Wed, 6 Oct 2021 09:01:14 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=mKPtojFY3Pxl/yLR80mMz9BCnSaD6TWWxKh7TpWiyeQpdamV3W8MAWFUTdAyIFtje1WVdfie6BqEC5cArLoX84G7wmHP71U8U6GRCwSxBfbEkCVW8o2+007/jyz8a7CHjV2EXVDSATSR64mbR0IrfY1DKs4V3tkRLmaQenwG/LhHYX17UPIvUfPqXStOVKlvthIDnGB0VS9fGit9pHeYEwgjG2yHrYioodCm7xnNdpPZo5E6rZ0L/+/bsGvcDMEh2bPsvHorwNlkeHUzsQkgNQgAiI9MyHy2D9G5kWI0ME7pdLry7f9Lw33eIJDt+6ixa4kPhhNjyPR7ndopnY557A== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=zbZ7TIYVEthg9xAZtpjW8PjcsJJEL0rc/ALdQhFAsdI=; b=koj3vIYMEjVMgOlTbAjVkCCrDhjFRhIgI7dsTzrNaQDBnJ03xhUTLClpd4nrwyzYd/Yr1qLJuPwR7Vpmrb8DjGVdbz5YAB+iyvRSmnenSeDxsBqRKqB7Sr/J0N0O8+zhlvBEzmv+XaeDT9FsBPwGGaE8lE1P3SSSHDNewK/qRvayh6zF63uIwvPsdo8dGbK5ncQ6GEBHfPAXNoTpog3q7GhV+TXL4jIfYK58F7RVq88x4FCUbxr6nzQFHY54tYrwknkx5bwE75jBcW6q0QQhbRFvBHGop67OwD+MLtSa1cJpUXSyUM5pE4BhSCM5H92XfBGESF9DDzM34rRD2m7dTQ== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=zbZ7TIYVEthg9xAZtpjW8PjcsJJEL0rc/ALdQhFAsdI=; b=lyqWPTWUTqwam1PBUgWkRySbE4oDPtJeaDI1MjCGQc5yu4i8+SsiHzd/dR90+JYxDNO3ViS8s0RBOoDmtrPHfKppWP2WPt7YPHEXs6eapXLnl+/xbKuEYIkl0bZNZ97WlFU0ZkO3B+CVqhHHjtlTMh9QhBZwzF8oUzkkwq9ukaE2LI2O14GL47rKMWAahjed/6UjQZhH3XyZDDeXVP9Ev05Rqquf0hetpn/PCLbyEkXqwuBTiSJLrdmWWeaw6j5VyWseolMLjESblHM1wD4PvNWhVsxhEJwo/6gYEwiWqExYpLXdYU57IsLIlvzWC8O1bdQGC96T3i68xn7Zg98aeQ== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:01:04 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:01:04 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 06/11] libavformat/asfdec: Remove unused parameters Thread-Index: AQHXuneLyZJrZsfZ+0aEJvEYrrxxrA== Date: Wed, 6 Oct 2021 06:01:04 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> <9f1f7004020091a995b54d8752172b9e429aed53.1633499980.git.softworkz@hotmail.com> <1f9e954eaf80cbf2666e9011ff5c18ddaef9b270.1633499980.git.softworkz@hotmail.com> In-Reply-To: <1f9e954eaf80cbf2666e9011ff5c18ddaef9b270.1633499980.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [I/rqw6bUy6mFENcPMhhfox6Z9GgUKbk/] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 6dfd7749-9f4b-4405-0888-08d9888eae7e x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: NT6nHRsmSGzIZSILnoa4gdO57R7qeqzOMuEzfoG5D+wBM56yY/E+vXrL5P1WhlEoiGpMzntjQI+YAO06nBev8eGRus0oE0BNwWkdE/PS59Y6fD1bg64ceasB+sYhVM5tAmoTDoBtixmDcpadprf1FvVmkSmg+g3r+RN4tH4lqKN/rnA83vjS8crzrDdluxfLOAbS3itdlul21h0wkxOHUPJK3BW7v/TTOCg78XsDlxeJyPTAuOB8ISk0dgha16vJTj6BfznXMALR3bQxtGeyjz5Ozp1njWHWrp9nhqiM+NdHYiJobrpjq/D0dq0n/iX5bSYniHhhBGnlPfe9PVaaE+CAwNa49ytk8pvYXJE6gj9bG54ynphiDplxcjs6A4pP0ANA10HmaqN2o/mMDe4oOBUcL/qZQKNKHdQJMmzWx4UmenRfjJCoW8+Q9lBUp7z4 x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: LwvOD4M485DTwHz8nbrP0zfjxKib5cY71fFCjzkPObgmrkPO0myfUJkbW0gwQ4KmOOJ5SXWbKM7alzowWwJRmzy0AQ06ww4x6WNc1fPZOqeA1f5FG88JFVfgwlfv49KB94iXdqX1pvim1hlKjXXdUg== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 6dfd7749-9f4b-4405-0888-08d9888eae7e X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:01:04.3025 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 06/11] libavformat/asfdec: Remove unused parameters X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: yNRwFZGWWXr2 Signed-off-by: softworkz --- libavformat/asfdec_f.c | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 4c898ab3f2..e87c78cd6c 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -299,7 +299,7 @@ finish: avio_seek(s->pb, off + len, SEEK_SET); } -static int asf_read_file_properties(AVFormatContext *s, int64_t size) +static int asf_read_file_properties(AVFormatContext *s) { ASFContext *asf = s->priv_data; AVIOContext *pb = s->pb; @@ -494,7 +494,7 @@ static int asf_read_stream_properties(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_ext_stream_properties(AVFormatContext *s, int64_t size) +static int asf_read_ext_stream_properties(AVFormatContext *s) { ASFContext *asf = s->priv_data; AVIOContext *pb = s->pb; @@ -554,7 +554,7 @@ static int asf_read_ext_stream_properties(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_content_desc(AVFormatContext *s, int64_t size) +static int asf_read_content_desc(AVFormatContext *s) { AVIOContext *pb = s->pb; uint32_t len1, len2, len3, len4, len5; @@ -573,7 +573,7 @@ static int asf_read_content_desc(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_ext_content_desc(AVFormatContext *s, int64_t size) +static int asf_read_ext_content_desc(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; @@ -619,7 +619,7 @@ static int asf_read_ext_content_desc(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_language_list(AVFormatContext *s, int64_t size) +static int asf_read_language_list(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; @@ -639,7 +639,7 @@ static int asf_read_language_list(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_metadata(AVFormatContext *s, int64_t size) +static int asf_read_metadata(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; @@ -693,7 +693,7 @@ static int asf_read_metadata(AVFormatContext *s, int64_t size) return 0; } -static int asf_read_marker(AVFormatContext *s, int64_t size) +static int asf_read_marker(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; @@ -772,21 +772,21 @@ static int asf_read_header(AVFormatContext *s) if (gsize < 24) return AVERROR_INVALIDDATA; if (!ff_guidcmp(&g, &ff_asf_file_header)) { - ret = asf_read_file_properties(s, gsize); + ret = asf_read_file_properties(s); } else if (!ff_guidcmp(&g, &ff_asf_stream_header)) { ret = asf_read_stream_properties(s, gsize); } else if (!ff_guidcmp(&g, &ff_asf_comment_header)) { - asf_read_content_desc(s, gsize); + asf_read_content_desc(s); } else if (!ff_guidcmp(&g, &ff_asf_language_guid)) { - asf_read_language_list(s, gsize); + asf_read_language_list(s); } else if (!ff_guidcmp(&g, &ff_asf_extended_content_header)) { - asf_read_ext_content_desc(s, gsize); + asf_read_ext_content_desc(s); } else if (!ff_guidcmp(&g, &ff_asf_metadata_header)) { - asf_read_metadata(s, gsize); + asf_read_metadata(s); } else if (!ff_guidcmp(&g, &ff_asf_metadata_library_header)) { - asf_read_metadata(s, gsize); + asf_read_metadata(s); } else if (!ff_guidcmp(&g, &ff_asf_ext_stream_header)) { - asf_read_ext_stream_properties(s, gsize); + asf_read_ext_stream_properties(s); // there could be an optional stream properties object to follow // if so the next iteration will pick it up @@ -796,7 +796,7 @@ static int asf_read_header(AVFormatContext *s) avio_skip(pb, 6); continue; } else if (!ff_guidcmp(&g, &ff_asf_marker_header)) { - asf_read_marker(s, gsize); + asf_read_marker(s); } else if (avio_feof(pb)) { return AVERROR_EOF; } else { From patchwork Wed Oct 6 06:01:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30925 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp55672iob; Tue, 5 Oct 2021 23:02:31 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz4FLnavaUzcT/teuyEWAdqW8coQ8C9Pe4TpCeqDLAzVNPR9zRSCgA8XZDAFXB4R5hiqyep X-Received: by 2002:a17:907:7752:: with SMTP id kx18mr30205803ejc.276.1633500151635; Tue, 05 Oct 2021 23:02:31 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id de10si20295119edb.150.2021.10.05.23.02.31; Tue, 05 Oct 2021 23:02:31 -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=AF2JRhy4; arc=fail (body hash mismatch); 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=NONE 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 CBAE968AA89; Wed, 6 Oct 2021 09:01:18 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2084.outbound.protection.outlook.com [40.92.19.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 41E0068AA6E for ; Wed, 6 Oct 2021 09:01:15 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=UuWAU5gn3QUgvhBLwHbo5DrJo9TFGRy1SSNjDoaUzWbTu8u81XS5yAT1sxzCBW5bSDt4WDmHxNAuSHwJ/LqQ8KlKN6aCD1SsjRszhVwuJAlPkG/VG1IMrZbhKel3lyISrMMITjAZMdXgmwM8L8zukMvEz0vaqbVlzMFmZxAR/rsIbl4VPijiF3XqyMRXW9g1pzh9k3gBPerFmG8TQz+toYAMooQssbGXyzWBoOTi1l9sUssWptiAgp6wkuuHgM30nOM92uyvwAsIqKc2W6jZNTqN2dvpL1NCAmj9W34ZzviP2BnjejVXCcR8JKvNa1OFJu7QL2HZlwahPNebA9fFBQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=VvINDtEopHzlurO/TC0D8GYaEnPWnBZwlYjknzOy6jQ=; b=W/5vCwTiEyOabQUeZ4LbLKAA6RodBiqGwSLjdAdT90P17OJgj9DTIJ5hXudxpBGXcX14oPzYbSe79WsnY/n1mqxC2q5GlOGAd46rce5+UC1PHRx5r4B5pAcK7cTGvi2S7wixm3lqcIBzeslNXVdOHK+2w6s3jcM4B+ameeOHSI2i/VrApn/rCDG65r4c9vjX+uzyDLZWvDzwO8CjuMi4D9G9O8WEPQr968gOYzN7cad4/WiUlACHJQ8nNW/+oxUG4C4G92dcHbndNkM6ToLKFbjqVuTEvbUnPfIzPhVNzoUjqL9FaaFi6IBcjLMGlDXetRMg2iFvWQ/BORCC7YX9rg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=VvINDtEopHzlurO/TC0D8GYaEnPWnBZwlYjknzOy6jQ=; b=AF2JRhy45fyiHWWlYZ0nukh+LUCq6b4Ec0/9V1QCBRpdPRy0RvEXKqIwxlwqsEhM0VzO4bc95z/aaBXhuDj5L09A6bSIPZnvC5+QARXR6Lzy8mxrNX/KJ72N9bZ9VoC1ISxZUCWNcd7t6HOn+5tmoTRT0RnWE5o8phelmnk4vlPUIKJJFGU2z/6RRC/S/oJy1QnNe47Jd7daDJcvk/5XycnEC+6ylyZgdKf64zDkhM3Dt6tnBceoeOQc9AXsZ3pN4/o1w0Hx60qPS5rqxbp0AbhgwkO4iZAU6ngnkn++nzeH5AiMitjm0QJXKhVu3c7Jn35H0zFQT6ur8kOnYOIyvA== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:01:06 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:01:06 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 07/11] libavformat/asfdec: Fix macro definition and use Thread-Index: AQHXuneNCI3QoF4fUUuB67TyYvzBXg== Date: Wed, 6 Oct 2021 06:01:06 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> <9f1f7004020091a995b54d8752172b9e429aed53.1633499980.git.softworkz@hotmail.com> <1f9e954eaf80cbf2666e9011ff5c18ddaef9b270.1633499980.git.softworkz@hotmail.com> <67a3ef814a8956660209ea96afdc4b6b0727e094.1633499980.git.softworkz@hotmail.com> In-Reply-To: <67a3ef814a8956660209ea96afdc4b6b0727e094.1633499980.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [n9aMIKTNt9U0AR6IvbzxdHYXyTulSk+Q] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 16a2f506-e329-4c33-3000-08d9888eaff5 x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PdYRC6CH/S+9Is631b3LaHLc81rVJD3Ge3Br8eRYdK9bj2Yi0ZQVPwE+HvwPZCTSl1KZjWdsvUU+5NACabLA0oeF9aO8Ve2hSoYChvN40kYyYgBxnOrDm1531xaC8n0V7yzBO6OX20zfZAE9KhjZKP6d2KfsN1Lz/cqU2Xr6R4DsOm+8ZbdkwnTJb5c/uNUHihjD3svUkl7k2ZZadPD5UCT8YqXB0rxEIFXcVsP7d6lcZKkmi4OrRLnStuZlUVblNTCLNoM04BtdtLBxisKi3MaA+3BhZrbgpkL9Btwuel+3mF2OBem9FYToahlChGxjS3IXngGz92yZoTvXjhGCPczIEI5nlekqTqJVZiIv1foSLknIw40wG5zakvFB5IjXxsx+AmX13AORlUvNJ0QdnmBHlJENYYdwh8bS4XIKRgFM+EEg+ysiGEkheHAiEBDZ x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: 50t+Kdl2QAw7toYazFz5A/Y7dpIOf3E8obpnENM2JawvqGL2DzAyFmLuCW+cMWjqYtxcfvFPbd/QH5sVjNnkzPUyjWad9wqxAg5JWVvxswtKtk7hKsLarzP9jp2KhY0Yny+m2Dbw/bHx3xgzT8AQ4A== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 16a2f506-e329-4c33-3000-08d9888eaff5 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:01:06.7941 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 07/11] libavformat/asfdec: Fix macro definition and use X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: +TAlJ/oLA8sR Signed-off-by: softworkz --- libavformat/asfdec_f.c | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index e87c78cd6c..a7b5ffe465 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -896,21 +896,21 @@ static int asf_read_header(AVFormatContext *s) } #define DO_2BITS(bits, var, defval) \ - switch (bits & 3) { \ + switch ((bits) & 3) { \ case 3: \ - var = avio_rl32(pb); \ + (var) = avio_rl32(pb); \ rsize += 4; \ break; \ case 2: \ - var = avio_rl16(pb); \ + (var) = avio_rl16(pb); \ rsize += 2; \ break; \ case 1: \ - var = avio_r8(pb); \ + (var) = avio_r8(pb); \ rsize++; \ break; \ default: \ - var = defval; \ + (var) = (defval); \ break; \ } @@ -993,9 +993,9 @@ static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) asf->packet_flags = c; asf->packet_property = d; - DO_2BITS(asf->packet_flags >> 5, packet_length, s->packet_size); - DO_2BITS(asf->packet_flags >> 1, padsize, 0); // sequence ignored - DO_2BITS(asf->packet_flags >> 3, padsize, 0); // padding length + DO_2BITS(asf->packet_flags >> 5, packet_length, s->packet_size) + DO_2BITS(asf->packet_flags >> 1, padsize, 0) // sequence ignored + DO_2BITS(asf->packet_flags >> 3, padsize, 0) // padding length // the following checks prevent overflows and infinite loops if (!packet_length || packet_length >= (1U << 29)) { @@ -1056,9 +1056,9 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb) asf->stream_index = asf->asfid2avid[num & 0x7f]; asfst = &asf->streams[num & 0x7f]; // sequence should be ignored! - DO_2BITS(asf->packet_property >> 4, asf->packet_seq, 0); - DO_2BITS(asf->packet_property >> 2, asf->packet_frag_offset, 0); - DO_2BITS(asf->packet_property, asf->packet_replic_size, 0); + DO_2BITS(asf->packet_property >> 4, asf->packet_seq, 0) + DO_2BITS(asf->packet_property >> 2, asf->packet_frag_offset, 0) + DO_2BITS(asf->packet_property, asf->packet_replic_size, 0) av_log(asf, AV_LOG_TRACE, "key:%d stream:%d seq:%d offset:%d replic_size:%d num:%X packet_property %X\n", asf->packet_key_frame, asf->stream_index, asf->packet_seq, asf->packet_frag_offset, asf->packet_replic_size, num, asf->packet_property); @@ -1134,7 +1134,7 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb) return AVERROR_INVALIDDATA; } if (asf->packet_flags & 0x01) { - DO_2BITS(asf->packet_segsizetype >> 6, asf->packet_frag_size, 0); // 0 is illegal + DO_2BITS(asf->packet_segsizetype >> 6, asf->packet_frag_size, 0) // 0 is illegal if (rsize > asf->packet_size_left) { av_log(s, AV_LOG_ERROR, "packet_replic_size is invalid\n"); return AVERROR_INVALIDDATA; From patchwork Wed Oct 6 06:01:09 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30927 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp55828iob; Tue, 5 Oct 2021 23:02:44 -0700 (PDT) X-Google-Smtp-Source: ABdhPJy7sc0th49UNaAOUWQAnjYTrtLix4nsZIhh+C50jDfzz1uQ0s7/KLF1BQnlOSHPMRrnG3H/ X-Received: by 2002:a50:cf83:: with SMTP id h3mr32740345edk.63.1633500164799; Tue, 05 Oct 2021 23:02:44 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id nc14si2924636ejc.445.2021.10.05.23.02.44; Tue, 05 Oct 2021 23:02:44 -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=tevGmGvF; arc=fail (body hash mismatch); 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=NONE 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 E07A568AAE8; Wed, 6 Oct 2021 09:01:19 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2084.outbound.protection.outlook.com [40.92.19.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 97B0C68AA6E for ; Wed, 6 Oct 2021 09:01:15 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=BAjpEnRbsol0kA4r8uDDzcZsL6zVRinyT1QJ+50UVjq9PnkW4DuAoYXLhQPfog7zkEsevNcCnTRMEt8aTqCd6vDqfOMkA1xo8Iun6UGGEcaN2byaLzD8tBRDXmU6+GcZRpe6LxN23NAclpBEGS5vWEbJVa6V68hJGUz73FkOW/9qR8/SnY5r/2p6y3oFRl1VAzOcJQx07k4jXRNi4d/mNylqT4D5JlLyCF0zeH+deSvUTJyadpBHRA7YH4PRPlOIPp8o0po5ZSp8J9Xemp4EL4y+ucYBZaV3PF95L2M06hnGIWFbME3mxTKePOGrL2670NAf/hNWZAQ7+h0K8/11FQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=M/FKCMmgHJNWtu7vCkdpGkQDXqYs2eKyDzGb4ZhrH5Q=; b=hld24NlPTQ+SxaYhNdkqLcnqWI6IX4YU4rC0qsJw8LuuCz8nF3ZGB99jP7v6LiL7zXeTMIN7Iee+XQGIFxaG/p4GTsnS7siYaWX1+xh0WOFNtNgBfQTLCPpubhDCBzXY104bL2AAUHqan2jTDThp+valw33mRs3+MP6JFDQbFdzWno9qwLqt3WZhu6lukF8MDdtz+hcBsoGdDRwRz/nfhwYnbNkJOib17u+tSbgBEozYh5DjROuxaMKwfOOBQubkUaHQJM8lOD8XPdazyGj/yYpP6d6AHe0dP90qUpGFNRDgLMtcns94J4ZNqj6EiYVPyRuNQgbp9yU46DTQbtBJAg== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=M/FKCMmgHJNWtu7vCkdpGkQDXqYs2eKyDzGb4ZhrH5Q=; b=tevGmGvFzY4wuT5HdCFwOfer0Q1RS1e8caZNHh8/7AcXmNhIupSNHEsc3vMbsYWloQuGkldCHvbsCvxNQC7NTuj7rr3BbGH3B2xRMs2zJDdM4yXQGXnN/MrImSp3/ZK69pGVwQy1Dq5uXz+qe8/y6frc+9HD2IBIkUcVdUqI5/iocfFT6Pl5ImlB2qFGRe6QfM4X7KaTqVKuKg6HPznYWIrI/rA2iK6r/HZAn46+quKfxT2cdeJ8ljDdJJFC7VCOatFLwHkadeS7ooMlYWfy6rVX1vJ1lJ7K3Ev0OFcjVJBywxOOvWwdaI0FvmcNWcurUSKDy4H18xBZ8QafZ4rODg== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:01:09 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:01:09 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 08/11] libavformat/asfdec: Remove variable redefinition in inner scope Thread-Index: AQHXunePQVocf6igXE2Ys9ZQLJHjcw== Date: Wed, 6 Oct 2021 06:01:09 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> <9f1f7004020091a995b54d8752172b9e429aed53.1633499980.git.softworkz@hotmail.com> <1f9e954eaf80cbf2666e9011ff5c18ddaef9b270.1633499980.git.softworkz@hotmail.com> <67a3ef814a8956660209ea96afdc4b6b0727e094.1633499980.git.softworkz@hotmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [YZ0bMJxxyP8YY4CF+rc/4pop54jU5VKl] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 16ae4086-8e12-4c7f-f846-08d9888eb1a7 x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: e4I7Ni2LykBOmYoTk2VnaDMaLaRyZzoYV51t8yzT8n/auHCedZtuybnF7rkc4m7EamHD0q6SPTmeHmhJZZKImtYA3SZVe9ccplFsEx2rKcyE2t/eQdzalc/b3yRipW7y0AFxUgJ3qbBU0YIzqQYu4G1oNjou6qfrWGxK+SDTTac34Bs1xA0p9+F8L2Ea8+1vwG6WQQg3480UmMw26Zzn14a8oBcSLHcaQzZia1IVZnOxkIxeQhEjxVz/hyNSB+i1NtDaRiJ34fTS8hRbA9NKks6ncmC77n24CzNod2D8Vdqk2FE5bBwLswc0Xxkvxq5Nbr13l+VSvHsLgmBU4zO65+Hmo7Sts9XIOD5Y7K65IRJur/XZrfdF8H7Eed5e7EVB8EtuaazB2ZL8vwiK4vhrGQLChCTCYGRFgIrDrWc1iD5Cu3OELKHT4QJSs7o+ppy6 x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: dK5kHmExzgaLywKl4Vxf19Xf9qUUL4RLq8Om3Nm9GdeO2zXeglZad7kd15Z7XyRdxMUeSfpJY3g+RBFurJEx0LWY3QySKK7dv8PgcPr9aXY4L7/ttEhfkPxcPXFj6da0Ek4WCzs8CDxwLBGjWUYc4g== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: 16ae4086-8e12-4c7f-f846-08d9888eb1a7 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:01:09.6604 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 08/11] libavformat/asfdec: Remove variable redefinition in inner scope X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: NyC3ATcVXYju Signed-off-by: softworkz --- libavformat/asfdec_f.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index a7b5ffe465..8283f245ab 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -1181,7 +1181,7 @@ static int asf_parse_packet(AVFormatContext *s, AVIOContext *pb, AVPacket *pkt) return AVERROR_EOF; if (asf->packet_size_left < FRAME_HEADER_SIZE || asf->packet_segments < 1 && asf->packet_time_start == 0) { - int ret = asf->packet_size_left + asf->packet_padsize; + ret = asf->packet_size_left + asf->packet_padsize; if (asf->packet_size_left && asf->packet_size_left < FRAME_HEADER_SIZE) av_log(s, AV_LOG_WARNING, "Skip due to FRAME_HEADER_SIZE\n"); @@ -1250,7 +1250,6 @@ static int asf_parse_packet(AVFormatContext *s, AVIOContext *pb, AVPacket *pkt) if (asf_st->pkt.size != asf_st->packet_obj_size || // FIXME is this condition sufficient? asf_st->frag_offset + asf->packet_frag_size > asf_st->pkt.size) { - int ret; if (asf_st->pkt.data) { av_log(s, AV_LOG_INFO, From patchwork Wed Oct 6 06:01:12 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30929 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp55995iob; Tue, 5 Oct 2021 23:02:58 -0700 (PDT) X-Google-Smtp-Source: ABdhPJyj2it0ZdGdPBWiujSLY9sddlkseFe6HulG/L6qQ4/6YUT0W0VV4/ZtGjXOkm+7GbdMuonB X-Received: by 2002:a17:906:369a:: with SMTP id a26mr29100735ejc.539.1633500178172; Tue, 05 Oct 2021 23:02:58 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id ce28si1033428edb.3.2021.10.05.23.02.57; Tue, 05 Oct 2021 23:02:58 -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=nBXlK7Tw; arc=fail (body hash mismatch); 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=NONE 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 D0F4468AB00; Wed, 6 Oct 2021 09:01:20 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2084.outbound.protection.outlook.com [40.92.19.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EE6B168AA8E for ; Wed, 6 Oct 2021 09:01:15 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=V6xWPlnuQGEmJhKSEpX2dd3H1gTiTLwIt7ZWlzkACcs2ghBkv0v0wEr1p+umUsunMC2zjvHezAQmmMVIpcPXnEOVylNxGhbly3bq/IAD/L4S2FKz0fM9I9SZ8Mh++xHkR+Sv1kcxKYoEP61Z00eTpg3KK9InTXz4BL+q3th8WwhspOz40BzsHrTkllSgXyCcoFAtpClkFROF/Bdc05uVCwRvvTT5eWCeAqdrRgZVJZoh1BRGNh9GE9uGJ5sJq6dWb7EBtIy2cy8YAn8WQETRXxlhzo+/rKbPEN3heFjYrsH3PC3nUnixyNhiNUCklUnmT03uKdM0b2VIG6ExKWyv7g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=KbEfBLncbTX76CdgDdmwj7wkS+HFNNUdCBzpGQVZnyM=; b=Dq+4XQFWvWHRsUdSozB59TkNu1Kjxsb3Gtq6bsoJEETaFSGd6OsXfcKZxAHQZFFMl26voFSaEvSJqvD1l/bmdALwmyqk55jA2lR8ItUdVqyliFi0LrM6bLEg5dZtv6GukBtGt3T1+OYOPPkAm4Gnu49s/F6od84yZU0C7Fd4/Mm34Es15rFtP+uprkT0c/3/34Cs/f7yA4dPSBSmNiVoyAo83sR6UhhRG1oMKrEnsjWxSSsQjJuWLA6hXzbc/4E/cJypOaAdUalejdChkeTQ8KEe6ZTGF0y/PriYpLQ4F8K4ZJIPkg1ztkrRMkXj0j7SyLiribU1izFEYCXUBLz97A== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=KbEfBLncbTX76CdgDdmwj7wkS+HFNNUdCBzpGQVZnyM=; b=nBXlK7TwEX9o5Z29K5fgzTnhkzu/WIIzHfuYbVcl0BvBD4Q1LkK9+I/wAswVUg/HIRZmajhYpOEmI2ADt1o9/eIo1eJ6SS7M3i+dWMXd0OpoxnRPQKAn5Ne4T/sI4iTcPnl1c+A2mc0wLse/NucxwsOqkpg6m1SqjF+zB4Qloggs5doGuW9yRDo3Vzri7m16+E1y1/OhWMxz+MlpRB5Ql1N8tD/5kXwXd82FwLAOI8mM1dhdxOVhP5O9MEElFGHrBFQ6JiemqnaaHsOW3OMlx5ERpjXmrbU6WUy5dVPv5RSJkJcU+plN+PbM77dAsmwa+ApqcHCsyuNv4o7n8fMQFA== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:01:12 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:01:12 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 09/11] libavformat/asfdec: Ensure variables are initialized Thread-Index: AQHXuneQX+HBuYzh2U+LlWW7nQZjhg== Date: Wed, 6 Oct 2021 06:01:12 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> <9f1f7004020091a995b54d8752172b9e429aed53.1633499980.git.softworkz@hotmail.com> <1f9e954eaf80cbf2666e9011ff5c18ddaef9b270.1633499980.git.softworkz@hotmail.com> <67a3ef814a8956660209ea96afdc4b6b0727e094.1633499980.git.softworkz@hotmail.com> <6dd6ec1943ecaee3ba0712b5e3ce193e3f0702f9.1633499980.git.softworkz@hotmail.com> In-Reply-To: <6dd6ec1943ecaee3ba0712b5e3ce193e3f0702f9.1633499980.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [3ZgzjaKReF6tIAlUg+//t93CKBJD39SM] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: a5b8a8ac-bac2-4486-ff63-08d9888eb37b x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: yKDSyIADP9ONGR7gmFpv/pmtXEb+iyfGmcnPsbSjs4+81RP9Hpp7i3HwBBnnuhxbZ3jVvIp8T4Y5zTJd30JU2YxIejCV3nP/fv5iTQJiIRffCbPcFj8t6FxxhJ/Rj47W24ymli/j1DZwWKqhJGRruw8h950GL0BqbP+4mCKg1ie2vD6RCw4CuYZUFIXxSbuy6lqolOwtgCIH7h3pwifBqFRIPIFgtXJU1AHDJ07xOU1Q2gRAW+SKgotPyz9q43arB8K6rakg97PElAG/VyYHuAIksiZuH2T0+HxQrcDcGu5kAjpLj8hl9sc58fDK7J3vuxhV6wgjBPcAe2GvW39+80dynvtYOpvGn+8/eSCO0/ZM7ofjNxkMG3NQIr7sm/Ow6gb3zVLCU3Wkh0hZcv3TDsps1Jmd1yS+YS4wJ6W0ezDg9TP4wwH3iStsy7s5PQhE x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: 3me3sZMqgOY8DNN5Jpnnx7KXRZfZetoQwMaOPW9xXL43vPrzSbv8yKIasA2jneJ2n1SE6W9MNAe39lSL+o/fa7ZJbi6HO78dEWBlULjbGNJFbBonvaclydVG1UkLvw46gnHZdtQahJzAA0wzumhBAw== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: a5b8a8ac-bac2-4486-ff63-08d9888eb37b X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:01:12.6727 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 09/11] libavformat/asfdec: Ensure variables are initialized X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: y/Xjz09d1UGd Signed-off-by: softworkz --- libavformat/asfdec_f.c | 1 + 1 file changed, 1 insertion(+) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 8283f245ab..024d77903b 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -968,6 +968,7 @@ static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) avio_seek(pb, -1, SEEK_CUR); // FIXME } } else { + d = e = 0; c = avio_r8(pb); if (c & 0x80) { rsize ++; From patchwork Wed Oct 6 06:01:18 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30926 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp56192iob; Tue, 5 Oct 2021 23:03:13 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxK4dvFE4y86/xaeEpoEQnymkq/mBbezcOl74DxuqSfCQByZn4I5uc0d0EkTLHeM1jVdjHg X-Received: by 2002:aa7:db8a:: with SMTP id u10mr33034850edt.189.1633500193503; Tue, 05 Oct 2021 23:03:13 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id jz18si18008534ejb.66.2021.10.05.23.03.13; Tue, 05 Oct 2021 23:03:13 -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=I0pn3Rmk; arc=fail (body hash mismatch); 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=NONE 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 B26D368AB1D; Wed, 6 Oct 2021 09:01:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2074.outbound.protection.outlook.com [40.92.19.74]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 6486068AA8F for ; Wed, 6 Oct 2021 09:01:21 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=XaaSE4CRQ/PQNF2xmGZ3H2OfC9TQoDjnEpmvUlprot78zt6Mhd7g4UO59ZNXrFcaLFGUpbmaWOJBjlZrQ6axm8JOckUwIghUvkOJrWU2ZBt5hqKv7iBAcCIAzONZvnRAc1RHVSxfCMaBkYW84k3XsPPSzFZAanOQcDksPmSnhuNlJLYnu5DB58bEvZb8gGfX+H9lQKUitexvnVKx1F/8e+zk4pLR16lEtdSDyg+jGVJImEZa4P+ykkTW9pQU5Ax4HKomdco5rapYuxKGCQC29mZJoIfUUPuuLwiwGoB/OD4j/GJNVuLvwU43RxbFwMtViP/5UKnD+iq4drlrjX01eA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=avGMKhq7R869jd9fCMl6osH+jRdkMQWrAxVrvb0pUrE=; b=GgfN2ea/zH2fp30X0VKPvUZNlflPREm7pIK6GZQIT2ohp8WXVMT0KvaLztOLSoiVtLUqLOR5Gl1wz85dSK+YSNHVWFEBbK0QNnAzjPMETcYnQjzIzZpA7ca4PGqjZUbbCK+KrVP55wCsOnngLCCeLf/pb6Yml2k0R115LyfEkYoRZ+szIvtwb9P0BUxmhwrrJQ9u5B/HElwtQJsbY8oCS613hE0XfcEMBaVyYMg97HEOBpkWMiIrs1gJs9V/Wf1usGLk26jtlP/MilfKYA/DgHfLbQCQ6XgsW3QoDHuGy2zoM2AER1n3eLK7R59z69HDsPE8K7qcKh11DPnjULIM8g== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=avGMKhq7R869jd9fCMl6osH+jRdkMQWrAxVrvb0pUrE=; b=I0pn3RmkWdZo+cWU66IkJ/JVrqReghDVVhIl/Mr4llvIdhC828IflWsOk+gzmzHIZL7Dymum4IXlDDQeoiWkdxvdTXpKtgDG1bqXCfxyBJhprMvNa4EOdPgHTLEp5wn6ZMQFKpskvYRax/kt62P1XlOueTb6BIQnp8Nker4d8GbFzx1kjb8a6fDF6sCbPAFc/h+lS8dbIAU3HQU8/hj2WDZVnlc7s6+LIjtSdMZ1Z+txNW8UsjlEHRoClRBGIu2uNpRo15CIvK3oqcdo6RTNXf4WScDzYX2oTGplYwtBj7Uk4cW0SipVxCN4RswPLwx+uJ0v5bfNP0jWYUNYWqX1cw== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:01:18 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:01:18 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 10/11] libavformat/asfdec: Fix parameter type in asf_read_stream_propertie() Thread-Index: AQHXuneUkTjxYQxfk0aTn2xMoeBbFA== Date: Wed, 6 Oct 2021 06:01:18 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> <9f1f7004020091a995b54d8752172b9e429aed53.1633499980.git.softworkz@hotmail.com> <1f9e954eaf80cbf2666e9011ff5c18ddaef9b270.1633499980.git.softworkz@hotmail.com> <67a3ef814a8956660209ea96afdc4b6b0727e094.1633499980.git.softworkz@hotmail.com> <6dd6ec1943ecaee3ba0712b5e3ce193e3f0702f9.1633499980.git.softworkz@hotmail.com> <84ad876e8f0f19696962f6d3660c7d3297324dab.1633499980.git.softworkz@hotmail.com> In-Reply-To: <84ad876e8f0f19696962f6d3660c7d3297324dab.1633499980.git.softworkz@hotmail.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [DDGlqVNGWQXsMkVV58nRuh7CqxBeRkl0] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c326b52e-1d13-48ef-f9ac-08d9888eb709 x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: PPEjB6AvQnmIxBXSdmSJ15awqqWypx6R6u3SlJr0LXH4Cw9KaHFNzNjJJlPIqvPTC8aUt7ESYsHf7XD7Qu7NvcKa4cnBjsdXGA3q4NLf2kJDRLRBnckxVrQnikU1KuS8vYL07l4ukEw03j1l+6D4y2DbZoBqCe+Rgw9I3Px4/QSL6PWJ7BXEsQqz1OYpXwwgomlTTEmiYrgexQCzjXg1GRT6i9IkAhyUW1vqfleTMGEL7IqvNtrs5Cxk4nDNznTmwvxqHsdPMi0B1uq9N4IO3ERLSB6pe+HcFUPjvWjSa4o4FQOX0WYVXxEVYxLN6GRKIXS0CpgChO1/kO7cnJI98DlTGirBwrWlogqnZENoviqa+wyu2vVzc9CIMbWebMOpxqv0HIAdT69cfG8zfr7EeIIeC8bgljlnZZIsbHcoeXxfnuxlQ9PCDo2oIC7ahcvM x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: NWRrzA3BT2kwJrQmUgj/S868LKeWLV/2cF/p3BysWRSHuhCvvw8l2E96+dBm6NG7mFNeA316CuTk93xYw9iuazIHZtVxARHddv9jEXIDJrNocXzu3boOmOmEixa0CyO3A109YbPrtcFrFu2sltPz4g== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: c326b52e-1d13-48ef-f9ac-08d9888eb709 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:01:18.6504 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 10/11] libavformat/asfdec: Fix parameter type in asf_read_stream_propertie() X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: SfLLCxtsnTNU Signed-off-by: softworkz --- libavformat/asfdec_f.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index 024d77903b..b8140a6d57 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -323,7 +323,7 @@ static int asf_read_file_properties(AVFormatContext *s) return 0; } -static int asf_read_stream_properties(AVFormatContext *s, int64_t size) +static int asf_read_stream_properties(AVFormatContext *s, uint64_t size) { ASFContext *asf = s->priv_data; AVIOContext *pb = s->pb; From patchwork Wed Oct 6 06:01:21 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Soft Works X-Patchwork-Id: 30920 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a6b:6506:0:0:0:0:0 with SMTP id z6csp56329iob; Tue, 5 Oct 2021 23:03:27 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz3f1goR40xBhNj9EAI/sERfUH4hsmN/1sQT1s/tK9OReLfFY7W9TJA1v6tJ3SAofGLa/Rr X-Received: by 2002:a50:ccc4:: with SMTP id b4mr32177018edj.83.1633500207662; Tue, 05 Oct 2021 23:03:27 -0700 (PDT) Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id l1si23879612ejz.748.2021.10.05.23.03.27; Tue, 05 Oct 2021 23:03:27 -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=nHjELz7p; arc=fail (body hash mismatch); 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=NONE 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 BAF3968094F; Wed, 6 Oct 2021 09:01:26 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from NAM11-DM6-obe.outbound.protection.outlook.com (mail-dm6nam11olkn2073.outbound.protection.outlook.com [40.92.19.73]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 3555268AB32 for ; Wed, 6 Oct 2021 09:01:23 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Jcx1O4oD1nfC7f9h7A/HdN/bErIIOeL6mTxjmHnqJ5umqoHt2Nkv3nh4K5/LB2e+O3Q7YEQ1eh/k55oXzCZM6iCSW0e395HqKwB1QFPFxtsrd4Vt/ihR5w2idaLkY7Yy5FG5toAOtRKUk07X6jH+ftorIHiIlKIPE3YTdt5zCc9kjHl4bhonVuRdr8vNUqNp1rpCwjmv83kqwarshRt7atGQfXJbQEFcD6WooumlX/p1MsCZ48mdmFJsGqcPEBi8ThBUB+Q2Qi8faOS+RIhQUiHSnEBNC9RmDmZy1uUc/866B24H936Dg7Fm+as7LgPlNNTnb8lrpbabl05FIGkBdg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; s=arcselector9901; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1; bh=881hHkc1YWUkvJ8RGDewUYj3N2HPdwshZ57tE0A7OXc=; b=ey54Q4AZ36bcQrnZp8RNu4s2/ScMLXAsg38GySlO2Bat4iRMgo2ZyIoFhxET1N1KDQev2VJ3wmPYofio4WIRZpH12IhSya/dUDKSW2Ja0AvxoXMsfKQZ9Az6Wpu0ozJibGhLAQTJPuYjkRiFS1NcNLKl9h9BKWjwdIveP6YQfawfe/fWR+/47aMMJOfWQsDsQuX4/VsRH97MSjeXd5TQf9WMz3KnLr7YbogBVjtM9G3nnxNAsxAhr1Sta9HAyRT1euHvDllHtEHUTCAw0ZCkcGWKJ6TTN/3CqAcsO/PX0pFb5kzT1hWU4PNngb3XTW5VQFvlSUfuCkHZby7xR161gA== ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=none; dmarc=none; dkim=none; arc=none 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:X-MS-Exchange-SenderADCheck; bh=881hHkc1YWUkvJ8RGDewUYj3N2HPdwshZ57tE0A7OXc=; b=nHjELz7pzFKT62nusVqnXWxg7eSfGLxbzM8cZXanAlbPf3mMIy+46GTY4DGaCR+lPXIRlvOkIV0xxXd+N/RJsQfkOmFh1GnMWRTVEe1TwBvQL/h6FGFaEQNpXqXklQ14pKgWKT5pq5Lo/VYq3EiPnne4n5xeNKfiwTje0UrnFcI4qxXCTExnhC2x97+ymwMr6beMrZWm5Zu1XRH4a7Bdg8aioADtxv4x9UspaCAPAbyeMd7BAcoZgB4aoRHLjfop5aqG9slbFcngmMfc6uVCTFp9brJmUwIAGszf5aDaJHoC4XasAF33pslalANdp2+6ZHgRxLte7qJFf522tLMyng== Received: from MN2PR04MB5981.namprd04.prod.outlook.com (2603:10b6:208:da::10) by MN2PR04MB6253.namprd04.prod.outlook.com (2603:10b6:208:d9::10) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4566.13; Wed, 6 Oct 2021 06:01:21 +0000 Received: from MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb]) by MN2PR04MB5981.namprd04.prod.outlook.com ([fe80::ecfe:2528:2012:22cb%5]) with mapi id 15.20.4566.022; Wed, 6 Oct 2021 06:01:21 +0000 From: Soft Works To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH v6 11/11] libavformat/asfdec: Fix variable types and add checks for unsupported values Thread-Index: AQHXuneWHJmwjETu5k6hOsZhpi4y6A== Date: Wed, 6 Oct 2021 06:01:21 +0000 Message-ID: References: <04c4183da3bb06cba3013b35c928876c5c8959f6.1633499980.git.softworkz@hotmail.com> <7e6f65bafd8a5d426f72aaddb1766040255f1d9d.1633499980.git.softworkz@hotmail.com> <9f1f7004020091a995b54d8752172b9e429aed53.1633499980.git.softworkz@hotmail.com> <1f9e954eaf80cbf2666e9011ff5c18ddaef9b270.1633499980.git.softworkz@hotmail.com> <67a3ef814a8956660209ea96afdc4b6b0727e094.1633499980.git.softworkz@hotmail.com> <6dd6ec1943ecaee3ba0712b5e3ce193e3f0702f9.1633499980.git.softworkz@hotmail.com> <84ad876e8f0f19696962f6d3660c7d3297324dab.1633499980.git.softworkz@hotmail.com> In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-tmn: [eoTKS05XFJGgedq9nNSdSts8uBTpLDVS] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: c21ff6b6-e9f3-4a5b-3677-08d9888eb8c6 x-ms-traffictypediagnostic: MN2PR04MB6253: x-microsoft-antispam: BCL:0; x-microsoft-antispam-message-info: +rkdtspZCfm6DH7cNccyQpzARACeySlmUgUkEcpreUrYvNVrYEiXPf+oAj3IytrvOlwUQcG6kzW7m/v/5AmiKnehRm1m2vFaq2dkU4OxZFhWhheMZItg1FG4PpScKDfTk4WNzyzKj+KUk5yNZiNH28HXFW5mvnZgp3E/EDVxfQCiS0gdXl0p/Si/N3TPUbswmIDy2mkS+xgTcnGhPie9aonntKUNwHdGNuJBmu5Ktw8+ogFKWSTpus5qwo56Y7IFrUUhNl2IYQyGm6P4SsCL3uqiW8ZlA1eJ1RX/qSr4jMH+dpAigK4Oayq7qKDv2GZp2FUK4fKUFCKgRE6ghZDVPu4sJKna6LzAKyujZjFphc1gH2YaRh3BaNLutTFiSPVb5KWuUGKuU4/4bLRHaYcI/XB2m7oZRdDq4iRu+sZYtJ4nEHbIKfJAGtXwtH27Sm9j x-ms-exchange-antispam-messagedata-chunkcount: 1 x-ms-exchange-antispam-messagedata-0: HKZVXZwBSKB3PPiuvXBQUhOUZfe6DbnWO942mevKKTfh2vQFvN3gakXXpe3pZJeaLiM1DmQcCTUnQwHR1/e80XeD1VmCSWGHRrYuNt3kS1PPVnjmcWFEifgMXFwjEH7eJy1ohQ2LUwb2JuZzVclAbA== x-ms-exchange-transport-forked: True MIME-Version: 1.0 X-OriginatorOrg: sct-15-20-3174-20-msonline-outlook-529c7.templateTenant X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-AuthSource: MN2PR04MB5981.namprd04.prod.outlook.com X-MS-Exchange-CrossTenant-RMS-PersistedConsumerOrg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-CrossTenant-Network-Message-Id: c21ff6b6-e9f3-4a5b-3677-08d9888eb8c6 X-MS-Exchange-CrossTenant-originalarrivaltime: 06 Oct 2021 06:01:21.6007 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: 84df9e7f-e9f6-40af-b435-aaaaaaaaaaaa X-MS-Exchange-CrossTenant-rms-persistedconsumerorg: 00000000-0000-0000-0000-000000000000 X-MS-Exchange-Transport-CrossTenantHeadersStamped: MN2PR04MB6253 Subject: [FFmpeg-devel] [PATCH v6 11/11] libavformat/asfdec: Fix variable types and add checks for unsupported values X-BeenThere: ffmpeg-devel@ffmpeg.org X-Mailman-Version: 2.1.29 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: 6CZYTGLqVRHt Signed-off-by: softworkz --- libavformat/asfdec_f.c | 168 ++++++++++++++++++++++++++--------------- 1 file changed, 108 insertions(+), 60 deletions(-) diff --git a/libavformat/asfdec_f.c b/libavformat/asfdec_f.c index b8140a6d57..c7141f6da1 100644 --- a/libavformat/asfdec_f.c +++ b/libavformat/asfdec_f.c @@ -332,9 +332,9 @@ static int asf_read_stream_properties(AVFormatContext *s, uint64_t size) ASFStream *asf_st; ff_asf_guid g; enum AVMediaType type; - int type_specific_size, sizeX; - unsigned int tag1; - int64_t pos1, pos2, start_time; + unsigned int tag1, type_specific_size, sizeX; + int64_t pos1, pos2; + uint32_t start_time; int test_for_ext_stream_audio, is_dvr_ms_audio = 0; if (s->nb_streams == ASF_MAX_STREAMS) { @@ -403,7 +403,14 @@ static int asf_read_stream_properties(AVFormatContext *s, uint64_t size) st->codecpar->codec_type = type; if (type == AVMEDIA_TYPE_AUDIO) { - int ret = ff_get_wav_header(s, pb, st->codecpar, type_specific_size, 0); + int ret; + + if (type_specific_size > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported WAV header size (> INT32_MAX)\n"); + return AVERROR(ENOTSUP); + } + + ret = ff_get_wav_header(s, pb, st->codecpar, (int)type_specific_size, 0); if (ret < 0) return ret; if (is_dvr_ms_audio) { @@ -433,21 +440,32 @@ static int asf_read_stream_properties(AVFormatContext *s, uint64_t size) } } else if (type == AVMEDIA_TYPE_VIDEO && size - (avio_tell(pb) - pos1 + 24) >= 51) { + unsigned int width, height; avio_rl32(pb); avio_rl32(pb); avio_r8(pb); avio_rl16(pb); /* size */ - sizeX = avio_rl32(pb); /* size */ - st->codecpar->width = avio_rl32(pb); - st->codecpar->height = avio_rl32(pb); + sizeX = avio_rl32(pb); /* size */ + width = avio_rl32(pb); + height = avio_rl32(pb); + + if (width > INT32_MAX || height > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported video size %dx%d\n", width, height); + return AVERROR(ENOTSUP); + } + + st->codecpar->width = (int)width; + st->codecpar->height = (int)height; /* not available for asf */ avio_rl16(pb); /* panes */ st->codecpar->bits_per_coded_sample = avio_rl16(pb); /* depth */ tag1 = avio_rl32(pb); avio_skip(pb, 20); if (sizeX > 40) { - if (size < sizeX - 40 || sizeX - 40 > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) - return AVERROR_INVALIDDATA; + if (size < sizeX - 40 || sizeX - 40 > INT_MAX - AV_INPUT_BUFFER_PADDING_SIZE) { + av_log(s, AV_LOG_DEBUG, "Unsupported extradata size\n"); + return AVERROR(ENOTSUP); + } st->codecpar->extradata_size = ffio_limit(pb, sizeX - 40); st->codecpar->extradata = av_mallocz(st->codecpar->extradata_size + AV_INPUT_BUFFER_PADDING_SIZE); @@ -499,9 +517,9 @@ static int asf_read_ext_stream_properties(AVFormatContext *s) ASFContext *asf = s->priv_data; AVIOContext *pb = s->pb; ff_asf_guid g; - int ext_len, payload_ext_ct, stream_ct, i; - uint32_t leak_rate, stream_num; - unsigned int stream_languageid_index; + uint16_t payload_ext_ct, stream_ct, i; + uint32_t leak_rate, ext_len; + uint16_t stream_languageid_index, stream_num; avio_rl64(pb); // starttime avio_rl64(pb); // endtime @@ -513,15 +531,15 @@ static int asf_read_ext_stream_properties(AVFormatContext *s) avio_rl32(pb); // alt-init-bucket-fullness avio_rl32(pb); // max-object-size avio_rl32(pb); // flags (reliable,seekable,no_cleanpoints?,resend-live-cleanpoints, rest of bits reserved) - stream_num = avio_rl16(pb); // stream-num + stream_num = (uint16_t)avio_rl16(pb); // stream-num - stream_languageid_index = avio_rl16(pb); // stream-language-id-index + stream_languageid_index = (uint16_t)avio_rl16(pb); // stream-language-id-index if (stream_num < 128) asf->streams[stream_num].stream_language_index = stream_languageid_index; avio_rl64(pb); // avg frametime in 100ns units - stream_ct = avio_rl16(pb); // stream-name-count - payload_ext_ct = avio_rl16(pb); // payload-extension-system-count + stream_ct = (uint16_t)avio_rl16(pb); // stream-name-count + payload_ext_ct = (uint16_t)avio_rl16(pb); // payload-extension-system-count if (stream_num < 128) { asf->stream_bitrates[stream_num] = leak_rate; @@ -535,12 +553,10 @@ static int asf_read_ext_stream_properties(AVFormatContext *s) } for (i = 0; i < payload_ext_ct; i++) { - int size; + uint16_t size; ff_get_guid(pb, &g); - size = avio_rl16(pb); + size = (uint16_t)avio_rl16(pb); ext_len = avio_rl32(pb); - if (ext_len < 0) - return AVERROR_INVALIDDATA; avio_skip(pb, ext_len); if (stream_num < 128 && i < FF_ARRAY_ELEMS(asf->streams[stream_num].payload)) { ASFPayload *p = &asf->streams[stream_num].payload[i]; @@ -577,20 +593,21 @@ static int asf_read_ext_content_desc(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; - int desc_count, i, ret; + uint16_t desc_count, i; + int ret; - desc_count = avio_rl16(pb); + desc_count = (uint16_t)avio_rl16(pb); for (i = 0; i < desc_count; i++) { - int name_len, value_type, value_len; + uint16_t name_len, value_type, value_len; char name[1024]; - name_len = avio_rl16(pb); + name_len = (uint16_t)avio_rl16(pb); if (name_len % 2) // must be even, broken lavf versions wrote len-1 name_len += 1; if ((ret = avio_get_str16le(pb, name_len, name, sizeof(name))) < name_len) avio_skip(pb, name_len - ret); - value_type = avio_rl16(pb); - value_len = avio_rl16(pb); + value_type = (uint16_t)avio_rl16(pb); + value_len = (uint16_t)avio_rl16(pb); if (!value_type && value_len % 2) value_len += 1; /* My sample has that stream set to 0 maybe that mean the container. @@ -623,14 +640,16 @@ static int asf_read_language_list(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; - int j, ret; - int stream_count = avio_rl16(pb); + int ret; + uint16_t j; + const uint16_t stream_count = (uint16_t)avio_rl16(pb); + for (j = 0; j < stream_count; j++) { char lang[6]; - unsigned int lang_len = avio_r8(pb); + const uint8_t lang_len = (uint8_t)avio_r8(pb); if ((ret = avio_get_str16le(pb, lang_len, lang, sizeof(lang))) < lang_len) - avio_skip(pb, lang_len - ret); + avio_skip(pb, (int)lang_len - ret); if (j < 128) av_strlcpy(asf->stream_languages[j], lang, sizeof(*asf->stream_languages)); @@ -643,14 +662,14 @@ static int asf_read_metadata(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; - int n, name_len_utf8; - uint16_t stream_num, name_len_utf16, value_type; + int name_len_utf8; + uint16_t stream_num, name_len_utf16, value_type, i, n; uint32_t value_len; - int ret, i; - n = avio_rl16(pb); + int ret; + n = (uint16_t)avio_rl16(pb); for (i = 0; i < n; i++) { - uint8_t *name; + char *name; avio_rl16(pb); // lang_list_index stream_num = (uint16_t)avio_rl16(pb); @@ -664,7 +683,7 @@ static int asf_read_metadata(AVFormatContext *s) return AVERROR(ENOMEM); if ((ret = avio_get_str16le(pb, name_len_utf16, name, name_len_utf8)) < name_len_utf16) - avio_skip(pb, name_len_utf16 - ret); + avio_skip(pb, (int)name_len_utf16 - ret); av_log(s, AV_LOG_TRACE, "%d stream %d name_len %2d type %d len %4d <%s>\n", i, stream_num, name_len_utf16, value_type, value_len, name); @@ -697,19 +716,21 @@ static int asf_read_marker(AVFormatContext *s) { AVIOContext *pb = s->pb; ASFContext *asf = s->priv_data; - int i, count, name_len, ret; + int ret; + unsigned count, i; + uint16_t name_len; char name[1024]; avio_rl64(pb); // reserved 16 bytes avio_rl64(pb); // ... count = avio_rl32(pb); // markers count avio_rl16(pb); // reserved 2 bytes - name_len = avio_rl16(pb); // name length + name_len = (uint16_t)avio_rl16(pb); // name length avio_skip(pb, name_len); for (i = 0; i < count; i++) { - int64_t pres_time; - int name_len; + uint64_t pres_time; + unsigned name2_len; if (avio_feof(pb)) return AVERROR_INVALIDDATA; @@ -720,13 +741,18 @@ static int asf_read_marker(AVFormatContext *s) avio_rl16(pb); // entry length avio_rl32(pb); // send time avio_rl32(pb); // flags - name_len = avio_rl32(pb); // name length - if ((unsigned)name_len > INT_MAX / 2) + name2_len = avio_rl32(pb); // name length + if (name2_len > INT_MAX / 2) return AVERROR_INVALIDDATA; - if ((ret = avio_get_str16le(pb, name_len * 2, name, - sizeof(name))) < name_len) - avio_skip(pb, name_len - ret); - avpriv_new_chapter(s, i, (AVRational) { 1, 10000000 }, pres_time, + if ((ret = avio_get_str16le(pb, (int)name2_len, name, + sizeof(name))) < name2_len) + avio_skip(pb, name2_len - ret); + + if (pres_time > INT64_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported presentation time value: %"PRIu64"\n", pres_time); + return AVERROR(ENOTSUP); + } + avpriv_new_chapter(s, i, (AVRational) { 1, 10000000 }, (int64_t)pres_time, AV_NOPTS_VALUE, name); } @@ -739,7 +765,7 @@ static int asf_read_header(AVFormatContext *s) ff_asf_guid g; AVIOContext *pb = s->pb; int i; - int64_t gsize; + uint64_t gsize; ff_get_guid(pb, &g); if (ff_guidcmp(&g, &ff_asf_header)) @@ -754,7 +780,7 @@ static int asf_read_header(AVFormatContext *s) asf->streams[i].stream_language_index = 128; // invalid stream index means no language info for (;;) { - uint64_t gpos = avio_tell(pb); + const int64_t gpos = avio_tell(pb); int ret = 0; ff_get_guid(pb, &g); gsize = avio_rl64(pb); @@ -809,7 +835,12 @@ static int asf_read_header(AVFormatContext *s) len= avio_rl32(pb); av_log(s, AV_LOG_DEBUG, "Secret data:\n"); - if ((ret = av_get_packet(pb, pkt, len)) < 0) + if (len > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported encryption packet length: %d\n", len); + return AVERROR(ENOTSUP); + } + + if ((ret = av_get_packet(pb, pkt, (int)len)) < 0) return ret; av_hex_dump_log(s, AV_LOG_DEBUG, pkt->data, pkt->size); av_packet_unref(pkt); @@ -923,7 +954,7 @@ static int asf_read_header(AVFormatContext *s) static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) { ASFContext *asf = s->priv_data; - uint32_t packet_length, padsize; + uint32_t packet_length, packet_ts, padsize; int rsize = 8; int c, d, e, off; @@ -1011,7 +1042,12 @@ static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) return AVERROR_INVALIDDATA; } - asf->packet_timestamp = avio_rl32(pb); + packet_ts = avio_rl32(pb); + if (packet_ts > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported packet_timestamp value: %d\n", packet_ts); + return AVERROR(ENOTSUP); + } + asf->packet_timestamp = (int)packet_ts; avio_rl16(pb); /* duration */ // rsize has at least 11 bytes which have to be present @@ -1030,10 +1066,21 @@ static int asf_get_packet(AVFormatContext *s, AVIOContext *pb) rsize, packet_length, padsize, avio_tell(pb)); return AVERROR_INVALIDDATA; } - asf->packet_size_left = packet_length - padsize - rsize; + + if (packet_length - padsize - rsize > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported packet_size_left value: %d\n", packet_length - padsize - rsize); + return AVERROR(ENOTSUP); + } + asf->packet_size_left = (int)(packet_length - padsize - rsize); + if (packet_length < asf->hdr.min_pktsize) padsize += asf->hdr.min_pktsize - packet_length; - asf->packet_padsize = padsize; + if (padsize > INT32_MAX) { + av_log(s, AV_LOG_DEBUG, "Unsupported packet padsize value: %d\n", padsize); + return AVERROR(ENOTSUP); + } + + asf->packet_padsize = (int)padsize; av_log(s, AV_LOG_TRACE, "packet: size=%d padsize=%d left=%d\n", s->packet_size, asf->packet_padsize, asf->packet_size_left); return 0; @@ -1068,22 +1115,23 @@ static int asf_read_frame_header(AVFormatContext *s, AVIOContext *pb) return AVERROR_INVALIDDATA; } if (asf->packet_replic_size >= 8) { - int64_t end = avio_tell(pb) + asf->packet_replic_size; + const int64_t end = avio_tell(pb) + asf->packet_replic_size; AVRational aspect; - asfst->packet_obj_size = avio_rl32(pb); - if (asfst->packet_obj_size >= (1 << 24) || asfst->packet_obj_size < 0) { + const unsigned packet_obj_size = avio_rl32(pb); + if (packet_obj_size >= (1 << 24)) { av_log(s, AV_LOG_ERROR, "packet_obj_size %d invalid\n", asfst->packet_obj_size); asfst->packet_obj_size = 0; return AVERROR_INVALIDDATA; } + asfst->packet_obj_size = (int)packet_obj_size; asf->packet_frag_timestamp = avio_rl32(pb); // timestamp for (i = 0; i < asfst->payload_ext_ct; i++) { ASFPayload *p = &asfst->payload[i]; - int size = p->size; + uint16_t size = p->size; int64_t payend; if (size == 0xFFFF) - size = avio_rl16(pb); + size = (uint16_t)avio_rl16(pb); payend = avio_tell(pb) + size; if (payend > end) { av_log(s, AV_LOG_ERROR, "too long payload\n"); @@ -1484,7 +1532,7 @@ static int64_t asf_read_pts(AVFormatContext *s, int stream_index, ASFStream *asf_st; int64_t pts; int64_t pos = *ppos; - int i; + unsigned i; int64_t start_pos[ASF_MAX_STREAMS]; for (i = 0; i < s->nb_streams; i++) @@ -1541,7 +1589,7 @@ static int asf_build_simple_index(AVFormatContext *s, int stream_index) int64_t ret; if((ret = avio_seek(s->pb, asf->data_object_offset + asf->data_object_size, SEEK_SET)) < 0) { - return ret; + return (int)ret; } if ((ret = ff_get_guid(s->pb, &g)) < 0)