From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTP id D3711494C1 for ; Tue, 12 Mar 2024 23:10:09 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id B67F668CE20; Wed, 13 Mar 2024 01:10:05 +0200 (EET) Received: from EUR04-HE1-obe.outbound.protection.outlook.com (mail-he1eur04olkn2084.outbound.protection.outlook.com [40.92.73.84]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id E269D68CC87 for ; Wed, 13 Mar 2024 01:09:59 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=h9JYtwRlWABsHTPYcv2pM827vzPXu3YzjMUwF8CjRZ3nDcWYpIbpJZZ58rpPJ2sQeEE0dtCZteyXwwYSg2HWwrLxXYgU1+xk2weIy6PlI77+KZnlUWk8gVWTzBYoFaxEt41MxpHOOAU551ZIyuKZVZZF2sFpkx8L8jHmmRzYWhmHqtEyU21Ntf4szwzoelG6XaiB/Y1zUvSFnC+TtZ8kUJC913iOnBT5JoeGe2mlimEvt4+WQiVo51UWS0bJIkUntRXyjmelptYTmkDUT0JyH9KAmiBk03oG1XrgaMQ0WI82smoHZfxfFz06EJjtSEtE4uW2gpKFOLL10+odzqikrw== 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=DeBfka87fPD/IMrSs2YP4d+rgawWd7FsUCiUKqnlORc=; b=fQL8ItU7kcS5OFquOzojQj52cRvi0XdfsD7m/pdrOZfPBBytQC8mg+NVH8twK5AoG0bFGp/dHeZ/QXhGrvp8JEeaD1pFey7XQBFD7w5M78jRlRcCfLvTb+A5Y4lQVBMeq+PWYs6GnXC0anhc2+fy3rp04g30WTMWzrH4id+pAGi8pLO7ZATdHdW6AXLhtKbcC2bl8FCxtFg3gzi1a8Tty36pHkYYHV35Ar1svsNE9bIXyYLfip8h0aAb5obUzFKQ3Hal3eYfan2W1uld9NX7qELXCpn61B/vm7nyxIh7q7EKi69xXkDFWgd4ux67++O4Oa+FDahLvhxyFGurSfDXKQ== 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=DeBfka87fPD/IMrSs2YP4d+rgawWd7FsUCiUKqnlORc=; b=LmW/p0G68ImSe5PXNj5iKcHZbHu2KcAOy3lcgW4VyZVRAU0Mj7VGr088WSFSrjX0I9e1sWd3ENvf6cOcCH9sG5Mt511TMfYY6/ZIR1r+DOMEzcf4uXFY8TVfQBYOgTZTGg5Rx6Vew1Dlj54amLFvg9TZYbeJNQugJUhbpIrVm8xtpIi6kf3UwipiudOlN9aIvHmuRaC+O8/t7K01EsTcG+ePsbyVvO0vTq8IawB8D7rL528yjtD/PNOEnfDyvSZF8qLazOocJtoiZP3xm7NI/8IPc5RbSp18ZMFR1DJo1ohhyVOi5pbD9d7FVIVrfACY6xQGdZhVZEZOQY/c2sHGQw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by AM8P250MB0058.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:3d9::6) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7362.36; Tue, 12 Mar 2024 23:09:58 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::228d:8c6f:ed10:82eb%7]) with mapi id 15.20.7362.035; Tue, 12 Mar 2024 23:09:58 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Wed, 13 Mar 2024 00:09:51 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 X-TMN: [Yp1doBHgdVpD4bYgSK30Frkp0cfxQqzcci1qvzXZziA=] X-ClientProxiedBy: FRYP281CA0018.DEUP281.PROD.OUTLOOK.COM (2603:10a6:d10::28) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240312230951.1515047-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|AM8P250MB0058:EE_ X-MS-Office365-Filtering-Correlation-Id: fbb63c92-e7b3-4eb6-0cfa-08dc42e9894d X-MS-Exchange-SLBlob-MailProps: Cq7lScuPrnoAVlBsXi+5fvsd/1azsy4l6+q3+sIvNm2s6NANcscT9Pq/lb8kNQoa8ymJI9puFzaYyZPL9+9lA86ZViirbeGIYt0dZH97j6W+Qb+eVPIFNkzQiIBKzZZL44tz63Jt2w6TngwzSkVIiJJAqDmZi1PlxSgCIdomETzPLnfdBh9KvmaLqbBnOipdSBpMwQFsB8eVl1ymIT1/6Y+1KzFCN3NHEHtVQXFe1VwTLt4f8zvO56/MMtri8/Xd6eWXrWkMNQSDGXoKVM91EfiHRA4O87ooTFksE/nD4v1/9NUiDtM1r9GCopm0sLIMakpulwKqeWgidAk6JKimqiv25Jkw4udoAJOmAlIRlE+zggWvBmHegT776SgEkUMsBTFntev1ckZosYkK4rjkG0gcFKZbBrvn/P6R8T4sgqHog3Gl31ATrx6CwEpr2+w9nsuU7Mgolq2ZsE7SJzpmuqOS5ml7GBrTvVZCHh47/vQbpXnA1SJ+lMj+6LPdsbKg7iIIm7AB4y+yTfvE9g/nk7yJMDbOmUHHeLfMCeueHTpDnW8Rthtb4eIEZh3IIfgF7y6MaJBx6DhzCPY9e8s0v258KT/vuvJqfNweLJ9vBgQOjoEZLpABrq9zQC6lz0Y/az1/YyQ9xPs+NU86Sgxdy5NblenF3nYrRHsv8LfMxzL4N3veCFCHd4AU/RQILaVElKzfC5A8gLpOnv0Cplm1zzeJ9AKPVRuCo48w6jxTF6l2Ec55DU/jsgq2d9rsCMrZq+ua5Ulx7C8= X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: q92KxutL5qx+Jd/IYUkN5RiHhDAUtV7Swed6Rf50LFrleSoYrEca1Xk1HLbsoauIGAuGYouIoa5LUGPA/hMta0hHQqNCzC9RzFNE2Erlr8AJyz37mFPmTgT1ES0Ls9d3juPxa5jODc0GtqIRZ+293kRDOdclEXt9pe+TLAdf0GR/YlTxIaFEzFma2ngllknr95y5u1z8oOojNpN2NTnDdV9TWnj0cMKEyWv7NlnclMZPK8XfQOgTS27J9w+S5dT9BJxnLb+Ug2rYp/J9cWzyZtkiEnPKzmnWAjO+n3WAeBEDafnfp4OvdlmN49HAo3ONIwc5a6nXNZ6NhMPHiS7HWXixH73MKQeHFSTnCkN5QkmMFbE2haNUIr6uaElRVHfKMGDDBeFhWnD/6RAqxjBsV/GFI2q7fwGniAu1waxgTJamyKWykAN9sSeutq2fReDC46dqXG4O9VSwOifZfU0C9Tu1OrPzOgGTvRe3hQZZpJLv7TtbF9aL7sWgIilxtWNDcOFwBnrSoPAaXpicAkxT/25Yrj8yKi0vwu7vXhTi7NctR4XwxOCxxhgJ/4kz0Vl2AsgegoQAw46ZH4FvaNWy0/TkY1w0nnwrZkiSkhCtotfkfYrcv5b9HiqsejBslj/g X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Ap2pbfa0qVM7f8Dtf524n3Ermi9o3oa2YD2VKtAMO0tHAb37BXbhAuRNxEau?= =?us-ascii?Q?dJxLv+aXkU53u71z20TEttKAW5uwsNosmgF4sfFpRys36e/FIHcqM5kmSkkw?= =?us-ascii?Q?aCvd1YCcnop7ajtF/yT5K2yqQ/xu6upNfa8nhoak9zPYIxvFWIOHwQkrrFg2?= =?us-ascii?Q?BQ8uVapMtZFlJA4JXKUpRy6luxSq+op8HeozWcI5gB3tjoY/uV3R1GO/72/R?= =?us-ascii?Q?GZqO0zAMLecRQQxWRSLCdAuVb5IWnXBQPkC4H9qzZWaP0BUpFm7JjxBb+cA3?= =?us-ascii?Q?iaSvjjoiMCSLXxH8XdPYQjZ6hivWk2L9rfe7fubbMlC+FTkskNzUirJ4chb8?= =?us-ascii?Q?hFY4OtJjiXHnq98b6AEGkP4UXSZtb1UT1wfTsiltQbGK2+kvh5k8syrmAYhU?= =?us-ascii?Q?UfxH+AZXsTEZi8AStuEj7WWMuettRq6ob/7Ujhoxve1buX42n5Fn1NP2ZUVV?= =?us-ascii?Q?4K16z8KWpVjhHd38zzaeXNzOGj2zTl1oRCAHXQKuhNzA1eRwVOG8QwSUlhbc?= =?us-ascii?Q?85Eps0JjK/27yPGHN/asvx0cQEfmi7LMryA4E2zNKaaHTM98SQ9nr7UTDD4q?= =?us-ascii?Q?InNPlLJKZtkUgdHET1PJRSP2w9eUevZyAifaxu2oOqtxb3xvkPCQY0vepYM2?= =?us-ascii?Q?w2VKOYUVbUhEmFD9FLt0DEhE0x9rhXdTgp+x62scm0ISAbMuPKAnTb0wAiS5?= =?us-ascii?Q?kN9uxsc918J9DRS7Vv5y9g8qwNeK7bbl45jpFznt2Wdh9uCk0KYC6gdgoDWg?= =?us-ascii?Q?AYpVLujIoAxoEmw9vSRysu/vfjgUhILbog2luj5n1AGgH7BpbUS/kha6NSZ0?= =?us-ascii?Q?ekp1j81Da9g61dEvxmmZGGK/uLoQYNnWWRVqcrtOPYT+KwkUSCmHgbgL6e9Q?= =?us-ascii?Q?frpVEYG2u7GBt880dEVaWcjQovfIZVAF6qike5HOsb/M1wD8azW43dSwzxm+?= =?us-ascii?Q?SF2QfbcgTGdXsOHZmfRIcZQvRma0PmvTq3eWEuTSOQaSemVlze7aV40AR8Ys?= =?us-ascii?Q?zxLqnV5y0rkAjbfirlVlciXNUYAcr/5/YFKjTaqTycRbR6lsL1gnQjk2mwvP?= =?us-ascii?Q?oM9CHH2Llkwq6NLb8wbCINyQEEzr+L2ks8ZvpIGSLto+lZ7Dtu6la4NI6dk0?= =?us-ascii?Q?m9QPykBL8GqZ4n5DFBzdKIG1ItXS4JjeE7p5WI+ld6+IqIZyh1hmyHMnq0Ml?= =?us-ascii?Q?MTHaA93PNbJsfACZjBoUiwHXEwb9Sfdx9LsvZErJ9SipgTwAFxJNOMyWaznT?= =?us-ascii?Q?xDsC2KUTk/xIXjLCjTeFuu485T3UlUPLMjBe4GrkYQ=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: fbb63c92-e7b3-4eb6-0cfa-08dc42e9894d X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 12 Mar 2024 23:09:57.9749 (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: AM8P250MB0058 Subject: [FFmpeg-devel] [PATCH] fftools/ffmpeg_opt: Check before accessing union member 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 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" Archived-At: List-Archive: List-Post: OptionDef.u is only an offset (i.e. its off member) iff OPT_FLAG_OFFSET is true. Otherwise, the pointer arithmetic can be undefined behaviour. UBSan warns about this (on 32bit arches): src/fftools/ffmpeg_opt.c:102:15: runtime error: pointer index expression with base 0xffa4db10 overflowed to 0x56059a50 This commit fixes this by checking for OPT_FLAG_OFFSET first. Signed-off-by: Andreas Rheinhardt --- fftools/ffmpeg_opt.c | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/fftools/ffmpeg_opt.c b/fftools/ffmpeg_opt.c index a9a785a0ac..4763c555e8 100644 --- a/fftools/ffmpeg_opt.c +++ b/fftools/ffmpeg_opt.c @@ -94,13 +94,16 @@ int recast_media = 0; static void uninit_options(OptionsContext *o) { - const OptionDef *po = options; int i; /* all OPT_SPEC and OPT_TYPE_STRING can be freed in generic way */ - while (po->name) { - void *dst = (uint8_t*)o + po->u.off; + for (const OptionDef *po = options; po->name; po++) { + void *dst; + if (!(po->flags & OPT_FLAG_OFFSET)) + continue; + + dst = (uint8_t*)o + po->u.off; if (po->flags & OPT_FLAG_SPEC) { SpecifierOptList *so = dst; for (int i = 0; i < so->nb_opt; i++) { @@ -110,9 +113,8 @@ static void uninit_options(OptionsContext *o) } av_freep(&so->opt); so->nb_opt = 0; - } else if (po->flags & OPT_FLAG_OFFSET && po->type == OPT_TYPE_STRING) + } else if (po->type == OPT_TYPE_STRING) av_freep(dst); - po++; } for (i = 0; i < o->nb_stream_maps; i++) -- 2.40.1 _______________________________________________ ffmpeg-devel mailing list ffmpeg-devel@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-devel To unsubscribe, visit link above, or email ffmpeg-devel-request@ffmpeg.org with subject "unsubscribe".