From patchwork Sat May 7 11:27:48 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 35635 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:a885:b0:7f:4be2:bd17 with SMTP id ca5csp2120840pzb; Sat, 7 May 2022 04:28:55 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxjQvRqtOE60TFZrzSbuP6d5h5zXi+8n4ILu3M7kZ1BPeISIaPta6kKpKKfV5pQIlnLTxHs X-Received: by 2002:aa7:c04e:0:b0:400:4daf:bab1 with SMTP id k14-20020aa7c04e000000b004004dafbab1mr7993691edo.101.1651922935423; Sat, 07 May 2022 04:28:55 -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 i21-20020a0564020f1500b00420a7fdbdd0si7419273eda.594.2022.05.07.04.28.53; Sat, 07 May 2022 04:28:55 -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=@outlook.com header.s=selector1 header.b=Jpjh5uXO; 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=QUARANTINE dis=NONE) header.from=outlook.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id E914D68A2F6; Sat, 7 May 2022 14:28:49 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-oln040092073016.outbound.protection.outlook.com [40.92.73.16]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 96D8668A2F6 for ; Sat, 7 May 2022 14:28:43 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=Pew5k1KLlQum7yAzDyQ9s8894E492zSj874rWhm81gwuPpR3/7Rt8GR1Azj6XGxvcOW0HcDi4FYmy5jxBpimjwt09FtcMD/AkAL4VbGamwhQR7O1QA3gRHtKZ1CUMgABescAF+gnSfSlKntvLGk/PcsGY80vVdzQgnnVoC0JgDTDvzRGduWFJZ0oDgImrm/8ZYL/QAnQxUMAd0l5kP28bvLMxaACSfz0CrlEF8hDrsh48jGLK+w1gvw2Adrv44I69eqQCi671gWplekn2gfcmB38a2hKTm1fhfqTiWlD5OPFlx+NkeFPQQqkpZr78L0aVs2+c4rOd5J11RPDhqrsRQ== 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=nYOwgpUJ1131PbqGHmwo0sltBUoG53DmQlr+sAOTn94=; b=FIDNP0PsGLZspqukPnpl/Mu3PTFP3fKK4IQVv8NZ+KSSgT1bfClPU8GgSOExHSC1KzxnjWw1jTn09D82kj4FEuAifU6t63ghBIBPN88TrCvuc/ldpACltBQ//wbkZd7bSvI5RIAtGd3eFKRHkht5UQpOzIxPsgQEFqQVUxlb3xpyBPnKkDeJLPJnqkCfyyhg/t9ARUo50ny47ZY91nH0V+226LnsOQ+1Y+lx6agQ2Y7dtzUOWfG6zdWP8xQBUlLMF8YVu3zLK6bDp0VgGTP1sOLGwKXTXwsCihp/DAocBtcjq+NzvgcxD5NCDstWQBtNdRrZx1Dt2xa/ToFoghhbUw== 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=outlook.com; s=selector1; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=nYOwgpUJ1131PbqGHmwo0sltBUoG53DmQlr+sAOTn94=; b=Jpjh5uXOJi2UbHu4PVj6UCeVxcPdj/SrOQfQd6caPhrO60knEuTrPjYEBojoe1Dd3v3zfHkIkD1EYX8Vzoq0DphSJynbInraNQ03grEF7+p2YkBT64qgoYFjgwN0p/xPUasarAXWhw68VBUzXdFi+JiSXwEHfI7y/IEdXp6h1WMWht6SYBV/F7VLM3fxDzwy1jYJPOzwv+izAT42d7YMg/bBnGZP5IlJg/X84yAFYOxizb9LO90MOmogug8IEzdZ8WofHeO5HZIgNgj2e2LkAOYH1ftZUKffQ47HjR6Mtl44fBADG+1eSrHEoLZmLBYGbkVMYhG4Zc9OcOUEdGkGOA== Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) by DB6PR0102MB2663.eurprd01.prod.exchangelabs.com (2603:10a6:6:e::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5227.21; Sat, 7 May 2022 11:28:41 +0000 Received: from AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431]) by AS8PR01MB7944.eurprd01.prod.exchangelabs.com ([fe80::1854:2c30:7ba1:c431%6]) with mapi id 15.20.5206.024; Sat, 7 May 2022 11:28:41 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Sat, 7 May 2022 13:27:48 +0200 Message-ID: X-Mailer: git-send-email 2.32.0 In-Reply-To: References: X-TMN: [4DeQTvPUvvjSTxqj7lQuTLiVv5NM8Njh] X-ClientProxiedBy: ZRAP278CA0004.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:10::14) To AS8PR01MB7944.eurprd01.prod.exchangelabs.com (2603:10a6:20b:373::5) X-Microsoft-Original-Message-ID: <20220507112830.406162-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 9633cc45-267a-4a18-d991-08da301cbc3f X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiRIovyFjHwHllp74iOQFItwG9nJ5e8tNw0nIORMChrRreu2WHzA+hmNhF4RbgBDHgtpuuFJ1PLpiimK4MnXspo3W8yju4E+FaHX1f0Bbm2aBvmsqlMGEP0R9oVOA9Jd6z5Stw5VdFKTKWl+lklEEMSM1myuPiJ2zJQKsYbW5nDtAr5itYk28Ccl7gXi7RfCbvWEly0C+INQsU2/pgCfIBPywkPkbs1OwugwAa62IqWwyDFkIkNJr+ewlklqw7894E1/NbWN47Yt4G3NDRUgCwAtXiP4ULTGnF6TFkxhk2fhLforIHlLhgcatqqIQ4LAsF0+ulD2KrhYuRgEEJ1AcSloPzREjrssVL5Ch8Ahrtbx0JelthwuZ+z+B2pQ0q+9UwK4jcezLX0VhvpoHlTaBcN2HM7n6TSXS1OLa09ahkN+2BsfVPDhoYrTr7sYvOuDGK4aNC6maLauzAf170kMNBs3cvE06OSnuPkFTSppkEGnKo5FM5gwx1thabtQhgnK2AqtvPQWqIA6CJEGXfv5SgE/PMdj3b/lwWVE4lNByGrVR/1NTTyASlSkTAEl1TcpGnqnun6vgKUe+0WbI8Wjc7g6aZmGrIFAThrOQzoFQfFzrh/wQ08wvkiP/2l+a+k7yA3j6iSY+6p8Z6Fhy8HH0A4hePe509juNv0j7ORPxGYU6bhTR3UKxLDsRc9UIfAFBDdOh2UTVZhuIWarIkAORhP9hptRu8aOFbDg9zq4Hsj7cNZJ85nH3gAyUAjjunJb898= X-MS-TrafficTypeDiagnostic: DB6PR0102MB2663:EE_ X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AhNuo3shFaemf1P/JfvPQGVhn4u+VUX04OKHpQLcdqj+5dWCpL6toGzVtWCu4O2p005p8hBNHJFi3JH92r5xzUmws52dnAvHJ7uEXTfUwE6t6I4h4Md90HrPu7sQRnNrX9CkURrq6ECcZIAlPj+P+0x9AUMAWz8neoHMskDClDiKBI+bC/XWDelX3nyCZmjTXEPnYNJARLDP+wL7tJpmjBTCUDFuU760EKvN7QPjWnYf6RG24wikXzsE/znuySvDbpSFegGbY8ZSUdyMBSmSgr/Yag9MFG0c3FRAOIqnmtBKY/aTEXhdeG10AbQaxxSk6US/wA2afBDjwpykwGep759mmSA//smjO4dGNdHJRKlMyUM2ON2Wbrlv+ic/0mgi7GJNCR0+cywiULQVEPZfgZey8X12Qb9RUZQcwm1G5mUOzEn553NgAJQYIS8ZSvleh2pSbz/CaqK9z8Y0X0L5ZQ+cYvhg37/Yz4jM+Vt+0NQUKfCVwDATaIhn3Ey5hezfM0RIK0Oy1Gy3vUzjcx9SjDPEQNDjlbufUOMLR9eRxL9i8uf6KO9lYURE5knVLINto8OPZHqR96hX18+sblQjQCEKeZxBcfy2UYM21hcc1VOVMQ1IhHDDQwQ4WKkZ3jURvVBAhDobWcnf07k95Kl85w== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: ecdX4V81P7d95eN8xYzLNPhhvT/u/3klw/M+P0t5ulsODGex/NMhx0bJUsjZbsDVXlkHp5TAgKwymkxfmlNRUol+VN8xsh1sqOrJuP8l2ZHr1yRIvK4MuDL3sVfqUo9wIuZjjtSDaHzwqY4VhL+deVT7eB/WlBiJKpbw/3O9BeWx3eTwjPFyp6vPXITYTVAdf0gG6falYnGUYXqS9b4+7nRSJ1k+hdv45bEp3QYgJ473BwyRXfimEoOv1DbO9MNIazBACc+C6+wuxqA54HQd0ovlyfpgBVVKpKj2+cIDR+pIJluYibY+GIUEiM0t2jyH6V/BsW7VGXNQd9Hark3M4I5NTTaQMjeSaHEUIeld7KGqzPCkkgr3GKfrWhFQ48112lkPmvnUAkTnvZz4EUQ8nxQZzqhODO99poqRbKGqbIcvvxL8XN7fjOarH7+O53PEMMlXswcacgNmq4y7R0y79mKgFWYU54FIBX725bRKc5jfcwZHhtZ0DFYdl0KTml/I1vYc9zBCm+xC9v+pwyg0jgGbwPcpw6fey4nLO+jhIHbhGm3MIy9e0BEbC5V7AeOG5hqzVYCeMCLUMaYlUNVi/U+PlSfDPvu8OeL18sXL/BvGl7IrWrKlOtPnplNAOJ+XiljxoeMiSrjFRIPg3GhT8J60h1Wyr0gRKY4maMn66atg/crN6QgoFSytqGh525+oRwQpB+tIuDwxEGA6tt5sCD48xWQPSQ8cFcz4gQaE8MNcawQtDbu2xIbxbfEfpWDgjJSKaiVrF5JWdpEfLoxfTMUygmwLFy0gbphWsvi8eRm5tJru1NGNxhGu+qGuaamk3kR4N/RFqX8ATAlSMuc9NafxKJZ+uV8tTqKbtfQk+Vkt7NYxTLc/fA2bLqq0/mbBhpLCnqQeejbWWzP3+wqC0qRPEDwA0afL28oA3xyzKzcuyTyNV4yOLK8bz1I0m3mgFZCG//u1MIlLfusVPlLvYZAgyPqebqfySWX96LZM2TdWbqWv7dnUxuhX9wibPYUUuhnSf7+5+FaH8GsfS3BBbfp1dB6JjoqBWsRlKNb79UJ0xpyaT0HIn2Y7Nk8qhsDtbTvjBkRUMs7aQ/eySPeHCepbtFY9V5Gq8gK+rbErGwEDOqWSkr0qMTlDLUmxXnaUPHUqP48xPHsosUy7DZEDne4Y2OP79yGnn1pDhBaulAffHOSws7qq5Sng9FETvJPMZgxrtEB1FdVXZg64F+33Tawba1RQdiXdRmt3/v8joJ4cKYJPtsDGQtyJvwXhyNiyY4GVyVPETK7nLgMAn0wRLy+aNG61icHLnSrfpGsAe8JHOl/jyMS/TZpmx89kVZcQi4iYt18HR+VLaR/FnXp6Rn3txlX/p/aGlCW3JmNFpTWJk++mwDW4QJykpsTbsqsMkGYGxQjNQO43mRmV2e6R+iYPOgVX6eeDb0FJ19qji1am9PPooMqUaft6SN5gqOpDlIH03qdabQ2V1LJXxRgtkg== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 9633cc45-267a-4a18-d991-08da301cbc3f X-MS-Exchange-CrossTenant-AuthSource: AS8PR01MB7944.eurprd01.prod.exchangelabs.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 07 May 2022 11:28:41.5612 (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: DB6PR0102MB2663 Subject: [FFmpeg-devel] [PATCH 02/44] avformat/utils: Use av_realloc_array for reallocating array 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 Cc: Andreas Rheinhardt Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: CKd2QpzvBXKO Also improve the size check a bit; given that av_realloc_array() checks for overflow itself, we only have to check for nb_side_data + 1 still being representable in an int. But given that we can check for representability in size_t at no additional cost we do so as it leads to a nicer error code. Signed-off-by: Andreas Rheinhardt --- libavformat/utils.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 19f5ae720c..a905838468 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -1739,10 +1739,10 @@ int av_stream_add_side_data(AVStream *st, enum AVPacketSideDataType type, } } - if ((unsigned)st->nb_side_data + 1 >= INT_MAX / sizeof(*st->side_data)) + if (st->nb_side_data + 1U > FFMIN(INT_MAX, SIZE_MAX / sizeof(*tmp))) return AVERROR(ERANGE); - tmp = av_realloc(st->side_data, (st->nb_side_data + 1) * sizeof(*tmp)); + tmp = av_realloc_array(st->side_data, st->nb_side_data + 1, sizeof(*tmp)); if (!tmp) { return AVERROR(ENOMEM); }