From patchwork Fri Aug 27 14:27:16 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 29832 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6602:2a4a:0:0:0:0 with SMTP id k10csp1513047iov; Fri, 27 Aug 2021 07:29:21 -0700 (PDT) X-Google-Smtp-Source: ABdhPJz8750VpMvRSwAAaKwY7nujqe1baZ9QxpHJWpoh+2OAqUFEvl7he7fzibLaYsPSoFmcgfSH X-Received: by 2002:a17:906:fc7:: with SMTP id c7mr9554840ejk.333.1630074561051; Fri, 27 Aug 2021 07:29:21 -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 cw19si5613903ejc.744.2021.08.27.07.29.20; Fri, 27 Aug 2021 07:29:21 -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=bhgZ+IJz; 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 C3CF868A543; Fri, 27 Aug 2021 17:28:02 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR01-DB5-obe.outbound.protection.outlook.com (mail-oln040092064097.outbound.protection.outlook.com [40.92.64.97]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 5F9E4680A2C for ; Fri, 27 Aug 2021 17:27:59 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=E4vVgVMKLLjzxQ6D9cV0L962+hH8cYnSmGOcmRw0tzbVus3Ih/L5UvOR+oetqmVlYuKcIy6HWuqZQ6vAeRUtS9o+6X+z4MnQXVFeXlldFTYCYmYKVUsCVVzbsa/0KP9HFPAYIkxOCkXpR8jyj0Jub4yUPdOT8q/Uc//XMr6a1YQd/n6TL/1132IKv5GqOhiVs/1t0zesZU/3XzczLvZwpSonkBYlnjAcqx8vs+RjC5qECGOgxgU1PpX3qgVeLcb95km3m1M1I6fn9rGxSMaV9SBBhfQrsXHD1dGdtNHe3wuT+aW89vI0mxGtKgCpfdNPKoqdQZ3JQTNPC6sS1PNQyA== 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-SenderADCheck; bh=4kB2Cecxn6KymE6HUEVhHJiCI/ZG9UVHURAS6eQ/PcM=; b=nGyUxFLb+h5JzXB9x8VAndJgzzgKs2X9hqnhOjaDeJCbwMz6wUMJGSqA5ECDjKoVyK68IN4Wai56NqxVMryNFX45IGmllqgM0+LbrF1+E5WOJ41SrxG2mC0Qlh5i4v1/GzZYXYvClK5QgIg9IhIILsbP5k981M+lhmMDTo4MM5ExJ6mIlehwWqUEAs9ohrUTSi+YS3UfmcU6h0rVBzWGP8gXBkcw5A+m7DGD/WP1tJuDaQL0HwHBJgJEa343akFpXEImHasucf/qfndly4UaivCWlTubbfVQo+NV2F+o1ZgkuriJe8tKGpFlyOfY7rt3wJltAYi81bTPzq5jpbpoQw== 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=4kB2Cecxn6KymE6HUEVhHJiCI/ZG9UVHURAS6eQ/PcM=; b=bhgZ+IJzL8zTUVymxk0FxVXp5b7Hgq2YF8cj9HsDGopc52atEIQmqIFmc1LyJI2Xk6/vOxxIa/rt9a+lxDLHL6/Nd6uldN8KZD4d78HRZbviw+VXiABWmzQpzN1a5WZGJ0QWjJHXHnlQGeCLSag+gttPO3yYVmAV0SF5r481J0g8kK2v9HZvNzoOcjKYe9u0pSxF6EQ+QsyMX/S2NxLm1sGOsWOe74LgGnrWNUoZOLlQLB4BbGC5+vQr2d31GyyI9JcYnajQ/1FgkC6SkVcERRoNDyTDQWmsjvPiihPOsA9h35DJARAxL/Js4EqOzkiElK/mq7w0wgMIlJHT96F5AQ== Received: from AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) by AM6PR03MB4824.eurprd03.prod.outlook.com (2603:10a6:20b:84::18) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4457.18; Fri, 27 Aug 2021 14:27:54 +0000 Received: from AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::5574:1fd:cce2:d590]) by AM7PR03MB6660.eurprd03.prod.outlook.com ([fe80::5574:1fd:cce2:d590%5]) with mapi id 15.20.4436.027; Fri, 27 Aug 2021 14:27:54 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Fri, 27 Aug 2021 16:27:16 +0200 Message-ID: X-Mailer: git-send-email 2.30.2 In-Reply-To: References: X-TMN: [sWYAqKD/bdESlmY/XBa+70Cd6Q5uIZFT] X-ClientProxiedBy: FR3P281CA0031.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::9) To AM7PR03MB6660.eurprd03.prod.outlook.com (2603:10a6:20b:1c1::22) X-Microsoft-Original-Message-ID: <20210827142725.645653-15-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 Received: from sblaptop.fritz.box (188.192.142.38) by FR3P281CA0031.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:1c::9) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4478.10 via Frontend Transport; Fri, 27 Aug 2021 14:27:53 +0000 X-MS-PublicTrafficType: Email X-MS-Office365-Filtering-Correlation-Id: 8ba3f6a0-d647-4c0d-c8c6-08d96966db77 X-MS-Exchange-SLBlob-MailProps: S/btQ8cKWiQnUOrjuXD0ZUxXZpiaS0/7etJttnuGdjbkUGf+YuOYZpthbYvs/PXyV9izpIB8XVrOyJe1RRXAghNOObQWqrNg/ZnfIt662fkPI320Sn+Y3g5GiUmxVuJAGH91D6aOTGA7W6uLpEklNks3g+vUVjOe23Ia7ej9gwMK5ypyMIK0AhVUD7uFIKT46vI16fS9Y7rqaWo6nfriC6XTA7SRw1h+zLt1JZXQwMlSSMA/8iYAC4nnxJXjeehb9jTWfcS6/hK5lyyBV4pUQgjofF7+VFNMLVLNBuHJn2aZqLKdnqwAI5bW+VFpESePVq8i4PUiTNKNbleJFpuCuLBegDAP/C9Zjyxz0SRh+2DaTg275Q6Ed1if0zMJ1SQ3V7Kf5z4oNiyNUO80i0d428Uht6gj5fdBsENu69/DZZgP4y128sxuLm4K9aYS/ljaNBYLC28LnWfqur1bQaxGvK7g8QUNZI3Bu1t7ApAAEuqw4FVrywyJy9W9m5zEEmPTylJGLo6HBobAASgXC1jSvX4D4R+ID0qCIe1wI6Efk/+R/sTH2dvF3G87d8vLeS86foJIuFb5B5V5+Wd+oV1mcjt91TqrLbl8tE38Pal/MWPe79GPkq1RVaHfcaoCMdRKHexL/PG5A254/oxdHVG/wzjUPW7IjQF1wv9eaNS/Yl/rD5Zt4b/yTRvohBJu/3AijAYino0gOtz5hYOiSboCiKkuhHpx1yFEkDKxpdKqKKdp9RfLhAULNjSSmfYYfdOTRQMMLb8U/B0= X-MS-TrafficTypeDiagnostic: AM6PR03MB4824: X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: m9n2UmbdX5q59pNP4I93sDuQQHrhinZ8FuzGEXRMLM4SxPKLt2+FFjJ1GOocgIXBCtq2Lnmhg+ebvTc1NiMn+V+lbJp9MsVU/a5iROoJEsiWuZsSZYlmP554oLZ7aRLrFr+UGuuEtCSSnLPfCoZNJWbeb1xrkyv+mK14Xc4SWEUGO0fbepwTH/QzH5BSX41vLejjeCfb6v7dJ/MnICotv9BbeMJu288WzoL+1iLBUD1EZqgLqziP7COj1M+YR/vlsgiuQzH3aO15MuyoDl1KXc63ItJGuCfWphLya0vNdHvA4Xx1X4Uw7LN5ppoAoUmZz+I5NCYacMoHjdXJw3H1Wc8mVlhHam3K5BqHnvtlJ6b29Y8eA8yLqqLtL4jefFZAi2jquMepVUWk/q1m7u27M/81Nb3UC3+eRQ3I1kiAtahswHE4qMhnrJHJgj6IHFgl X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 42VM4OLI2+25Ry0iLANuK4oef+eiwPkojSbfs8oLSlmJte87vUsIzdvmpSccnyLOrYuI/W6Hkf/nz7DgRM+PqwUy+UZFkTgh3Z47zyYZz/d8b0eEDy7WM43qkf1eG0zDgLHza4N4jiAgnfSwHRVHEQ== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 8ba3f6a0-d647-4c0d-c8c6-08d96966db77 X-MS-Exchange-CrossTenant-AuthSource: AM7PR03MB6660.eurprd03.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 27 Aug 2021 14:27:54.1497 (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: AM6PR03MB4824 Subject: [FFmpeg-devel] [PATCH 16/25] avformat/utils: Don't allocate zero-sized 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: FTalo3f9/IZA It is unnecessary and also ill-defined: av_malloc() returns a 1-byte block of memory in this case, but this is not documented. Signed-off-by: Andreas Rheinhardt --- libavformat/utils.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index 264b5b1a4b..b3ff9e95eb 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -3167,15 +3167,19 @@ static int compute_chapters_end(AVFormatContext *s) { unsigned int i; int64_t max_time = 0; - AVChapter **timetable = av_malloc(s->nb_chapters * sizeof(*timetable)); + AVChapter **timetable; - if (!timetable) - return AVERROR(ENOMEM); + if (!s->nb_chapters) + return 0; if (s->duration > 0 && s->start_time < INT64_MAX - s->duration) max_time = s->duration + ((s->start_time == AV_NOPTS_VALUE) ? 0 : s->start_time); + timetable = av_malloc(s->nb_chapters * sizeof(*timetable)); + if (!timetable) + return AVERROR(ENOMEM); + for (i = 0; i < s->nb_chapters; i++) timetable[i] = s->chapters[i]; qsort(timetable, s->nb_chapters, sizeof(*timetable), chapter_start_cmp);