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 49692489E7 for ; Wed, 21 Feb 2024 23:45:04 +0000 (UTC) Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id A816268D1A2; Thu, 22 Feb 2024 01:45:01 +0200 (EET) Received: from EUR02-DB5-obe.outbound.protection.outlook.com (mail-db5eur02olkn2094.outbound.protection.outlook.com [40.92.50.94]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id D095968D089 for ; Thu, 22 Feb 2024 01:44:54 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=b+ni1fWDKic/5WdTVIK11OGFjbUbq/JXHLq1jL3wV5z3GP+DyF4DbPJjiBTz4OtCHFQKFvIy1SVvFf1X56Li4VTxeT+K7m1ziBZG7IrmQqdnlawOaNm92Y9SLBTLU0dSNvaOeFdWDnorhlweXdbEJnxgnuPEqR49CUVkqyVi69bnc7XBUU01iBQyGqOtYxmrk/9LKrA0uHkasnctOAfCEl+tgK/4mDgbyafL1zO31M0+IL5p5P1geGGDuGXFipgH+p2jQG2iNEov0/Io151Pi7/ChM05+pnkbTUAt8nemuRzcUMaYEfTl09Yq61tRvldroiHI3t46UNSkWIB8h8SEA== 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=WczS2y1B9LiaQ5f/DxCR429GmKeJPRMLJ8xwA9GBzVQ=; b=jFtC9Sx0KrIhP1ldxY6pkEFLW4l8vLfVATX4wzcYcpEUR2+Zdq94AEyWymJwqKimkBPpXltykaR2OnPxQy/84sSdxy4V1YOq6+GlCxFSjH3RqFppmKd8PL14gNBZ9NBWxZmNyc7rP60PHJLXqCeg+mirBIz/f2qvopvmAGv5RocRL4RQxPdNCduCn7f3fRSupNfEYSkp0Vb2EG1Gpy1ogJEBJsDAMSRMk8VG2rH5sjgjCrmgnPs7i5FU91pjY5zAK1WqM5Xr2GlbNy4ob28m8jhBk1TWltb1iyw1xvuyn2VSbjLmEFHl+62asqhOquISTQ5KG3Ixk3R/wOnYGLCXeQ== 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=WczS2y1B9LiaQ5f/DxCR429GmKeJPRMLJ8xwA9GBzVQ=; b=NBGFX0rVjPOLVgjcTGRugrudQ+Qg9blOLKPb11edCwt2s1hPPk1GIr5fCbHm8K9ubbXSiy1HUnni3XnJJRHSO6IqtABA3Ik1FjF5c8SPkXOhyhU5El2Kwi2TrVJNdnEVSrrhAtKRdnIMchM7Z2EnEgnhgyWQanSVeaSIuyWxhYoKnDFMd7Yjwz63Bib7YtWFmPePsw0pJW/JKesoltSuLBAqQOa0Fcuj1PGFIgnVjqwLq+jufQwr0E1gb2VOZZ/zdLhmnFOkFb7/hqEWc0xFFFGZLYeG+qd/cjOI98d6HRZGD4eaIiMNGCia/11rxBsJdysQRUdyTJskzVQrmmPhLw== Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) by PR3P250MB0258.EURP250.PROD.OUTLOOK.COM (2603:10a6:102:17d::5) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7316.21; Wed, 21 Feb 2024 23:30:17 +0000 Received: from AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d]) by AS8P250MB0744.EURP250.PROD.OUTLOOK.COM ([fe80::65aa:deb0:a18e:d48d%5]) with mapi id 15.20.7292.033; Wed, 21 Feb 2024 23:30:17 +0000 From: Andreas Rheinhardt To: ffmpeg-devel@ffmpeg.org Date: Thu, 22 Feb 2024 00:32:08 +0100 Message-ID: X-Mailer: git-send-email 2.40.1 In-Reply-To: References: X-TMN: [ySkPmH2epZhQ77dtv2E4T4sAS2t2xuoDz54bmkkznaA=] X-ClientProxiedBy: ZR0P278CA0205.CHEP278.PROD.OUTLOOK.COM (2603:10a6:910:6a::12) To AS8P250MB0744.EURP250.PROD.OUTLOOK.COM (2603:10a6:20b:541::14) X-Microsoft-Original-Message-ID: <20240221233209.1862129-1-andreas.rheinhardt@outlook.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 1 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: AS8P250MB0744:EE_|PR3P250MB0258:EE_ X-MS-Office365-Filtering-Correlation-Id: 980a3a3e-ea88-46fd-1a0a-08dc33350fd0 X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: LgyfBNcqvmv2fGhXY8m71kzhzUiJfZHId3h/TKRJ2doUTvQNQqv8lp7Dnkn8KEnShHvRNVlO/EguC8DT5N7bX+UHnlGcH01FGyt28lmf3+TGKJJ9EMr1NJw1T2da5gPVBi5oh1bUjw3iOfaQRc3k/1xT/K7M+tfA4FnfG1EV0nSO6ol+0kNNzxsTRAhW5+mb8YRiSkmHdGgLBKS3R3ngX6hRpfPYposuHhF6Eb6eIQJuFUU5Yp8FKKA+0nK7DyRhVpfEVPw9xIxw1B7fVF+7QyuxESxXvdC3rrSYswRQwJ3dgrMJNyr/8Qm8eWzJ+2l9gAJrlukJNqbZK+pXOpdDW/L5H1iqMpcEis+4oEtcWBw4FmdzTRuuSi9jcf9x13pBM4IiDP+g74zCPaTsXIGLSp5HPITnT8LTz6avRWFr/EN9qs4UBk+crdUXbZk0equWPi4v+CeLZxeEGW9DBPu6CVJ7wwgZWa+J+x6G8i/LPYpzlYKioYwLffGXzuVSYZ0J4DCkbtSSP0EH8OgNEmD4yK/qxcEwDAOnPBB1gzuJgSE3FfBQXqOCo8/8zoUeFL6nvxakEBsvpt6I5x4U0BiQ8hsWRKc9D0FQdfgeNA7W1iKWEz2exQYI1AenFMnzx6r7 X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: =?us-ascii?Q?Bq1hXxkG+XeDRAgsJks9Nu9i9IkMPoEfnygJ/GGiLF/k+qZvz6yl2+r9b0TY?= =?us-ascii?Q?cseTc4aOQ175QUz0qkpDaf7H7wXFIqkVV2Qi9tQ3RWxKYVCRKN/uIOnajzwl?= =?us-ascii?Q?KkaUE9vEA/TL0RYl4SNAHYHzVGcN8r8vR5MCSH6DGD3tvcG/cI6hYS/+BDXp?= =?us-ascii?Q?rUObJkumf2S9TUgBigmL3YF8Nkp2LAztKDXFnR0U35S0fXw5EMXkLcCePMeU?= =?us-ascii?Q?j7WnOHa2bnKe4+xXt1Yf7MUBFpum3Uwab+x7jqX5poAyco647cAI2nAjeYGy?= =?us-ascii?Q?eJXtMqv8PxZa/Q2pJzxCJpGDnR2f0I52+XtYUaydjZi8ISg9MSFtonErXyfx?= =?us-ascii?Q?iE6NLvpbEWBHwBt4XPgfyWlzZDUv9YCiQewqn51NVjwokmu8EUR7tO3EDwH2?= =?us-ascii?Q?FMjk2HF4d1byupQISu6VzU+dyXcHZErKyavLSpdH2rDG36vaF/PVA6qP4rds?= =?us-ascii?Q?mOwNsfP6knEVmo/KpROVczgZcFQd+ew9GIL1llL0GH/CH59eER2UloEq5PmN?= =?us-ascii?Q?trXXSAOD6xu4pqTSGLZrIEOD+IoJw6QHSdql0MYW6L645A0ky8n7B+UA5KbP?= =?us-ascii?Q?PpcydMBtRokmRUzJZa5DGjSFRuT/aR1lqSq1MOT3qFDYe0znBkoqshpUIIF7?= =?us-ascii?Q?tV7Xskp/Uq85cL/FQ8fXbVPO1js/gLw3J6Oed+j8aeO6YN88nERqFDwZ+5Y3?= =?us-ascii?Q?i9Nfm9R6t28y0NBTBGglkhD44rc5stMBKwhCiP4oX5yLt5Pp3RiMcmbE5nAQ?= =?us-ascii?Q?PPN20RWVKy014G4Cq6OqUcNF0MiN9p2Lc+GsbLyLuoSDMIX8Mz0UFqAS2ECM?= =?us-ascii?Q?0yp49chTdO06KVSWHxFnYbmECDa9sieEUXIAwlyc4pQ6z+V1gapvNlG6GvEC?= =?us-ascii?Q?e3uk0x/K/S1dakvs2Vczt5x5O5bYai9ULy1MoGaLOjZZT+gF9TPr9rraOM50?= =?us-ascii?Q?FZq4IX0gJnylAbfGnhngl2+bMlN4BVFmJXRRzfQ50qJl11OL4Cjq0sxxy+9o?= =?us-ascii?Q?AzAqe5Bg/mO/83hF71hEoBbNc5sULHRMRHmo6K0g1JR44/6jy1K5L3Tgxfmk?= =?us-ascii?Q?NeA8PoFAVAYkEOkoumhtD/403BZA/917GP8tv9MddKwqMxbHnc10eyRiyQfU?= =?us-ascii?Q?gbDxLuSheWOniMYBHmXZcJlSwGTtE/b2wE07keJmmzfUbfmxgnxeWp03Pp6b?= =?us-ascii?Q?JWSsmQoJhesWLbKheeuJnhJESKF6QFQd3n4h+6BRisL+/fmXFwGv8CLBsOoP?= =?us-ascii?Q?kA5+jiVfXh4QXm74lWiawfmTZxQKrsi8gdJDiu7VWQ=3D=3D?= X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 980a3a3e-ea88-46fd-1a0a-08dc33350fd0 X-MS-Exchange-CrossTenant-AuthSource: AS8P250MB0744.EURP250.PROD.OUTLOOK.COM X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 21 Feb 2024 23:30:17.2923 (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: PR3P250MB0258 Subject: [FFmpeg-devel] [PATCH 2/3] avutil/opt: Use correct function pointer type 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: av_get_sample/pix_fmt() return their respective enums and are therefore not of the type int (*)(const char*), yet they are called as-if they were of this type. This works in practice, but is actually undefined behaviour. With Clang 17 UBSan these violations are flagged, affecting lots of tests. The number of failing tests went down from 3363 to 164 here with this patch. Signed-off-by: Andreas Rheinhardt --- libavutil/opt.c | 14 ++++++++++++-- 1 file changed, 12 insertions(+), 2 deletions(-) diff --git a/libavutil/opt.c b/libavutil/opt.c index d13b1ab504..0681b19896 100644 --- a/libavutil/opt.c +++ b/libavutil/opt.c @@ -444,16 +444,26 @@ static int set_string_fmt(void *obj, const AVOption *o, const char *val, uint8_t return 0; } +static int get_pix_fmt(const char *name) +{ + return av_get_pix_fmt(name); +} + static int set_string_pixel_fmt(void *obj, const AVOption *o, const char *val, uint8_t *dst) { return set_string_fmt(obj, o, val, dst, - AV_PIX_FMT_NB, av_get_pix_fmt, "pixel format"); + AV_PIX_FMT_NB, get_pix_fmt, "pixel format"); +} + +static int get_sample_fmt(const char *name) +{ + return av_get_sample_fmt(name); } static int set_string_sample_fmt(void *obj, const AVOption *o, const char *val, uint8_t *dst) { return set_string_fmt(obj, o, val, dst, - AV_SAMPLE_FMT_NB, av_get_sample_fmt, "sample format"); + AV_SAMPLE_FMT_NB, get_sample_fmt, "sample format"); } static int set_string_dict(void *obj, const AVOption *o, const char *val, uint8_t **dst) -- 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".