From patchwork Wed Sep 28 18:58:15 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Andreas Rheinhardt X-Patchwork-Id: 38454 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:3b1c:b0:96:9ee8:5cfd with SMTP id c28csp444273pzh; Wed, 28 Sep 2022 11:58:38 -0700 (PDT) X-Google-Smtp-Source: AMsMyM71R9Lv6wV9Iag19+jUt2q8kYvQjYI1Z89GeHy+2oOB26UXCPR5eiMuwf74bt/IJHYcPbjH X-Received: by 2002:aa7:d407:0:b0:457:5a15:62fd with SMTP id z7-20020aa7d407000000b004575a1562fdmr15336854edq.295.1664391518280; Wed, 28 Sep 2022 11:58:38 -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 q18-20020a056402041200b00450f1234f3esi6019559edv.199.2022.09.28.11.58.38; Wed, 28 Sep 2022 11:58:38 -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=sa6IyxBD; 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 B98CA68BC07; Wed, 28 Sep 2022 21:58:33 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from EUR05-AM6-obe.outbound.protection.outlook.com (mail-am6eur05olkn2096.outbound.protection.outlook.com [40.92.91.96]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 023D568BB72 for ; Wed, 28 Sep 2022 21:58:27 +0300 (EEST) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=gtiY/JJG0BUOhePODnQVDG5DjaCRO4okaqaeme3VDTCcaOXxFrn30wTMU9Ez2nhkz2PdWNHDV5cTN9yg+hZcIeZSS7l7NERmqs0eIWaN4zMziMl6vmSr14tzG95hV6EHwGNVtlpXTr9iPWdKrPlloXDixC8UyxL576RJ52iCVFb/ei6ELPbej4wRsYSI3Ui2qEXQ4ZOLKQvqYqjktsjds4p7uMIzH6Snbqjfj7+HBb2oVk/vZM5HWfUFNXIHX0squ289YrBHqVPmeXeuuZjueQRpSsOGeXK3XWw4hZJX0UrI/LJmfBq3xFASnqODs8QgOtsttMPvkG/UYeyTVciRsA== 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=TkDvEtRATFxx+Tv22mGIYPZskCHIRUkEErzLhO35o78=; b=Mix8g2f/oH26u08/706UBsae7UdiNwycKvCRUwtdwkS70XF68NgL2lGnqGQXXaRlSPeedsSCfFXFqO75iJQM6A0f716+i34tZOW6MI1b81IqHrQ/9+p1fCfEfcgReNQlTVJLHcXHIkY4a+RzlR/6muG7nXxj8NzrVWpXYkGRs0j/S1eQDC6A1eMkZYLC27moeDJP3FoSPPjT0BirTWuOd9I6yE31Ez+T7u9203zuQsLUFecemGD7iLBivZzZAV7QXMgM44fLfw9qvaqkEbcO1Eub3Y9oLh6K4i4lA1uYt7YxXUAnblDw2s7TF1siQeAjPrtnLaH/8Xv/DySpku1cOw== 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=TkDvEtRATFxx+Tv22mGIYPZskCHIRUkEErzLhO35o78=; b=sa6IyxBDO6FyTRaTe2B1+052iFeX1dLenz868AWol/eJltuvilY2KpNRlsJhm/KZqJIW74jSde7L6oq6TuvpOUzpNPUfbrZfAj2GWU480OHpxDP2fzzkfphIXk6DcUgZwWhLoXrqqP0a6brGZx3S9U/60+mSFUaWCK4UeVraW8CX36ywYtZDCXGXKYA4vlNvBsp98WX55hIVrXB2aG/+owEwFqVWYMbk2QBn3Nl0V7ZIw8GzCYrYfDO8vBo0O8A+AG5/5IvSkNAtxJ8kXzTCM14ATbH30sAra02arYnyWWRsiva56Kexo1plDV28vpMfzFkj0o+F28sCojHoFM72Hg== Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) by DU2P250MB0014.EURP250.PROD.OUTLOOK.COM (2603:10a6:10:2b7::17) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.5676.17; Wed, 28 Sep 2022 18:58:24 +0000 Received: from GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8]) by GV1P250MB0737.EURP250.PROD.OUTLOOK.COM ([fe80::68bd:2fc7:ac52:38f8%9]) with mapi id 15.20.5654.025; Wed, 28 Sep 2022 18:58:24 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 28 Sep 2022 20:58:15 +0200 Message-ID: X-Mailer: git-send-email 2.34.1 In-Reply-To: References: X-TMN: [5nSp4FdDwSFnlRxoQGMR8tMqzcr72N08WSyqJIGUJFM=] X-ClientProxiedBy: FR0P281CA0051.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10:48::12) To GV1P250MB0737.EURP250.PROD.OUTLOOK.COM (2603:10a6:150:8e::17) X-Microsoft-Original-Message-ID: <20220928185818.1074689-2-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: GV1P250MB0737:EE_|DU2P250MB0014:EE_ X-MS-Office365-Filtering-Correlation-Id: 7a34a7e7-8d97-4f7f-fd02-08daa1836bb6 X-MS-Exchange-SLBlob-MailProps: AZnQBsB9XmpPcoZqFl/i/jhf7c/pX34TQU1c/ZvMHcsK6zUU6iEJQAxXGtzfLRIXsjNxw8Aew2LvGgdC3BygyfdC66Q4b4+f6VNRaKobwslHcMuBLddKRdHuY8KTQ/ltrfD5p9pWoJlKHPFgfdU26iC58VqX42krjcA+XdCqA0vPRVDoOc4eFwDUscsGJoCIK0kvOOmnyEWPwY65UGL1+lm7FpGNOb2rcogQFB7Es3iAa/Zdr1l31dYjwfYcXLLBTwA5DNi2hsKInNLVHnGPjj6vbM15l/Dr6JcvLmz6bk2hkfZfdKsjl0aqHnQUd3Pwj0MrX1cXzK2R4vu5wsCzjQzqkAH9YEiZsPCuGuiEhDQ3Rft0YjtZHHBl1V5IGDqfYLiYaMoNyDm/01Y0bhgzeJk4aXO3SkEc5VzyOsSt7urwqKFr4wyvATaSPH+bBy/6HG2ebFUgHWfzggzZPxeL6Dk8/0C/ta3UrjPpQWdvnFmNJAnN/lPaBiTjjaMFqnCW+vg4O8eccs0g/a9PMt7RiThf4XXa4v/c3Rf9rm5bTD6UpwbjzrQU3jdjINHLoq5ShxqpMto9KxwKD7Qkpti4abqDyc3gwUZUY2xeTTCZiJU0qyhNe3whVnjHMmyjzkvduXOPMOg7R31TPgetUhRxCnbC+xXzmJB5DClt513DZbDdMw+OOxeezLeznod7XqTmpISDH8SY6f8tHmQNVlaxpzwDusilJJU8K3JkhV63J70EjqlgO4lwDU2NqJc67ypi89xFmsdO1/8= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: AS23jsixWB5u9CcZdU0sLCoGkkmFecApdZF4BazvzoRwxL2/zldjVBgJl1SvOcYZG9sKqh7U3eu7B69FItpTte/IQgieSNjPepOYSqurpN7KQ2WOl7Qq+hZbLLWOkkYB1ZzW8HRW50+kvMA+6Qv+ora7GJgaQvENPGxAXCC66+CkkvG8qelL9tUzvC+Ct9GXIDWVMygQv7e+8jySfAdxEvgTUdx5r0ssVkZvQciZWbWyhRW9ChEeVb7TJVC/r6xny62BkwgXpi8mWtMhXTt86K9RezI7RzgfpN2vXSNinPAlbksFTmG6AayUVngQbrJNW3YdVOflWqw4hA64qqGItEkBqJB1US7POAdHYNHQQBwDuyzaZVe2zOro/LdcxRek1TschnwXaBCFNm3p5dkJANKW+KBtKEtYZp9XS/D8g20D51IPGJj8VzTN871H18xHnWBxVmV4wlYU3N9R9LTwUQfuuzBFL3Nodea7yh9Vkwv8FjWOdItUc5jeKKu6XZGtj81WLxfSGjRti4Yd0TaS5616qU48bOqU89lVgOaGVWB5z15yfd/xs1ZCz/ODCQqrVLZieUs/r8JOZ59Vc4asiEiqthCNihBeJPetpbmieLFyGHlrqX8Lw3+YVuvwC3jU5BdU9+H0dlQ6rXpdXpF8fQ== X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: /c6xPnExWkNPEmnDatJ6hBTo4VjCZqci1bB+sT4PFuX0p1vDetzTtWaUh37ps0vMAbLuKjCpLkaQV1os41HUZD4gnvsDtuT1+qoEnePlLPjlkrgJFu2ao84odQ7oA/eaKvCwsxQKIVqMZeLyVAxnGFX1Y8Wc+Gz1AqG6niZ5gwOYm36/2TrEnzC1CuZTURYtMj7+wemzBvrvk+6LZ82lA4kVHy1IeO50QofN7k3sDF7y2xOheauPLdG1FWprafj3+A+T0vlOcbVKcBAYk29GzH6LiF7ClMMREnuLXkTroeiSh2gVoTPWneL8VnuKWfrSU7L6Tdb3oMv9Ervuq5CjSLhKCc41Sbph5kkY1gNGqKwV2cj9Qr+1WsREZ15c1hdDFHgEOBJPDvCBLFInkNYU5mKQXuih4Q/C6IeopYgYKJmtDJytiWuqYnhbnEWv760WYChoIjYshaY0J8oH1LKgF3MKehhckpYi1/RsIRn2To2bnsI56e4A1xQsoBq0bBYUe1PkDDzDu3YxTi9SQhwgM0xQhXtV4t/LtIwz0kN2u4E14dnqKiX5Vu4HOVZXihHLGNdXa7JhNC76Ar+Ee1fuanifvOCgoXU5JSYQ282n8M0rMylIAodvTdkOGN6hYQd+A0CrDa37HpcWjoGT6RI/nBypO/qW1F7jmEZVXd5LJ0aZm7tI18h/Kpui82GSYGbsd4tqCX/jH7UFtSlfR7jVp+ulPu80KfwufjwdvDJ4EE3fmA543Rh5+k4nkC510iMizdk6ldv3oXeMdtDovhgKYlRcLlfGhu5KZ2COg9PJalzDAUUX5+623uOfR1e/s1gFeDbLuT1XC3ywSRz5kj4AFEQL7HG0W9Z64FVVJZFikBQAzdHVDBdoN/cZoBGyfANx1CQz+rvGzES/CApPw94Sn4u4D9tSXT0ipzW5wP2Cd6vttBnJPqhxPfFvlAdS7kLu56qHQL8jCfhj+EtARbIRA2zK9yQooCzPCZ7FC24LWsS+gEHsvtuMPKHS4AxqRDOCho3zUqfNiLty79xJgMruobTYpESI87+4z0Fiv9XgGShd/1KOxoJdReIOOdDui356oNpH5EsoDD/rtvDG5GsyT53qDMtsIkZoJTMp5CX8pd0Kih8bygAGqAQuJ5plST4Swn/LqTirp5ZLMIAVSTNmBjx1OjYpxhmFld/pjPiU3Jir+0Cgc3epCiGR+3vEF/xgAbKlzjcBpkzan59KpHUl0eiMnqy86LcChRaQEw+5QQoNRovFYIj/GpuqTzAl7LFhHnxWI/qYQslbkEY8uZ8tNhlfjjU7z4Otfuj92xeHVT0tBFZtuy3uUYVJwqlMPB5G X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 7a34a7e7-8d97-4f7f-fd02-08daa1836bb6 X-MS-Exchange-CrossTenant-AuthSource: GV1P250MB0737.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 28 Sep 2022 18:58:24.8319 (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: DU2P250MB0014 Subject: [FFmpeg-devel] [PATCH 3/6] avformat/aviobuf: Don't use NULL as src for memcpy 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: 9EdlYPa1f4fc This might happen in avio_write() if size == 0 when the direct codepath is taken. It is undefined behaviour according to the spec although it happens to work in practice. Fixes the webm-webvtt-remux FATE-test under UBSan. Signed-off-by: Andreas Rheinhardt --- libavformat/aviobuf.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/libavformat/aviobuf.c b/libavformat/aviobuf.c index b20b1a611a..5b6a42d7f4 100644 --- a/libavformat/aviobuf.c +++ b/libavformat/aviobuf.c @@ -231,6 +231,8 @@ void ffio_fill(AVIOContext *s, int b, int64_t count) void avio_write(AVIOContext *s, const unsigned char *buf, int size) { + if (size <= 0) + return; if (s->direct && !s->update_checksum) { avio_flush(s); writeout(s, buf, size); @@ -246,7 +248,7 @@ void avio_write(AVIOContext *s, const unsigned char *buf, int size) buf += len; size -= len; - } + } while (size > 0); } void avio_flush(AVIOContext *s)