From patchwork Sun Feb 11 05:41:31 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Nuo Mi X-Patchwork-Id: 46172 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a05:6a20:9002:b0:19e:cdac:8cce with SMTP id d2csp37207pzc; Sat, 10 Feb 2024 21:42:15 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCVjfuTB4Jego6jwOLZb0ohJi3L1IregP4WyulbP3NQJWgP2/8nLJGW97gziOtVn+meLkQxuIDBV2qSoQfEF+A/bjsIwz0otBYQotw== X-Google-Smtp-Source: AGHT+IGti+ggwfgae3Q1GGE4WCW3W3U+OjSiHOWT/cdoqeWvRZBHu+IjPYVGp30A5vDuPTzJQj1G X-Received: by 2002:a17:906:7f08:b0:a35:65c3:50f7 with SMTP id d8-20020a1709067f0800b00a3565c350f7mr2077720ejr.28.1707630134758; Sat, 10 Feb 2024 21:42:14 -0800 (PST) X-Forwarded-Encrypted: i=2; AJvYcCWPDlUcj+b1gneROCFgMWCSzluemMmbtGd5v+1JidMoHwFdKbmuj2FAAs6rYJ0VJ+0A1RQTGxwTmDwdEzXNK+MMothVSw2zouwdsWiZjAFMB7mAjacmLUCNfm1RW3AHai/yPh4Uu4sPY+oraaKFaowGRDrHfdhRulhz8j3doJCLnMc8ptVbG/vM+e8TTuA/8G9FTdUBC8lqKCMzrw/ox8P0WtGYeqSqOY+XXSKB0xUEtpSU7z4KDqfeiJ+pUcWHl31LM51i21THamkNUiEGQWEiS11G2FxeY08E14NTVHb5U2ANLp2Mj79zsuJPZrDodMho0TOdKycifrAsXIH22qSXzurb+CGMgJ151n7ywAXTjVwjgiY3fANrk3sD5taKoFWf9Xqd5UE61a2ugHWAAVJvSNWoOZFilxSdOtlrl34vvAj72EbXDhs8dHZ60hl8AU/on7n1BOMJ5NVyQAa0GX+5+wJavwTOuFftw4eGp5fL0C+TXvMIofwtJuTcvDZnsagQbD4K5o3r0JYVLyoJhLd2Hx9gS2jUGqvqtj3+/NojkijejV46NqF2X0hH6IEfyl6tuwELK42EV+sOSTpDE4qunNwlv/TfjNVDAIojo/fU1RWmF7fq7Yt1zRkKliqZwwecDV7gqVYtzGbqzU9QjCjbUx+vpVzGq5LhtY00mqAi4NTD9HOgiRXAS0kiEkr2rr8MH7WEU4v5y3PVDRbEtiic9BM+rSkUMo+WdnGuA+Qw8+Dy6QcjVrN0qfkFZSCoNCC61gga4dVZLv/hZuoxin2Y2tr7KYD+jM3C9yBAusb4paWOxqYTSnRqEnKykWCxUkEbpVxWRQSCa+16nrQ0ZpLTICXlIgjcwK0paRml7PHb/2S3zEEVMKe+D4xzTcVxI4X/vpo7AtXQfJNj0oqFReyKS/7gM6+V0VkLrGs87pA2lgh2KCMOp8+u4BjGYyCTbgXCfs P9MiH8uf2bxYkI3M7QmRO/JCutZ4pBBFzmvy55eRbs5tYuYJ4y+voPDPkpAeNUZv6A7TeKmUGaOcy3SIYYrIYwRwMM1NIo81Tg4ZHZGxqCg+K9vXrK3DqqOVSlFQYpK5pU3b0PAD8lCuJWJi4uMsbjijeycIiXZscf1hDVg2NZNOByMQN68e2kWIpPJXi5LqupfCJBTk/QUNQ5ONGQHzh5/YPrNd8VnYiYhIbXZEDVuum4VSFpfskp+vmj9roK5D58qZIRXphOQrrhOCastBXRVMgyP8+o/k+/cG8MYIiUeIrtabbVWHbPqTNErWbafe3T+9Vor6sCmmDHySO0DRLLCo4i6ApRcFmtICjiImLyATc03mrSVR9WLI6XY/xRSARS2FQp4aSH9R+V9feZ45ucpssXCgms+RuJ6GbDp7PBXBGUoAnWmiAv1z2Ej8N1TAFGbNLtD9WyGBXf1wCnOe1pKgReo9QpnOZ//d9SWrHghHadHXevDuki+fZ4MRWT2bzA8RlPmd9kKOAn2YgoVZVpSO8oxz3uhb+SzZbs1K1E5KXIc5NkbusBqBc1jPdY7G8W5S1rWgvw9iMwaNnR4V640h+YVsdtMLUyIpf1QFi4RsnliApUkLuKWJi4+XXC Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id h8-20020a170906110800b00a35e24cc8fdsi2485513eja.60.2024.02.10.21.42.14; Sat, 10 Feb 2024 21:42:14 -0800 (PST) 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="PCKNr/35"; 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=gmail.com Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 8AA0F68CF4B; Sun, 11 Feb 2024 07:42:11 +0200 (EET) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from APC01-TYZ-obe.outbound.protection.outlook.com (mail-tyzapc01olkn2076.outbound.protection.outlook.com [40.92.107.76]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 653C568CBF8 for ; Sun, 11 Feb 2024 07:42:05 +0200 (EET) ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none; b=FfTeaHByx2C2nOKN0D81G9ItSeVF157LvVVOrUHaEyjeZ57x9IR7CPyHZos1g3qqZiro3vQarwJw0JQ3/c364hSXqNyuKcpPVTTryUpXCDZGxFIqRBd181znL2gOHUnzp5i/l6NsQdTxzdL4CJFPiUKn8bEeYVyachim8JtH/TV0DyStF544feyF489EKwoUh49anSBnIPB0vI3skzL1X5/2MPbDHszajoJcgtdzhLbB8vrF1N02QcvLSANwSl8VIfsPA2a+zLLwoFjnOTB4it5IMOI91ZJjGtQk76UTFnldpAwewnysUzYr3DV5cGdgCy3/R97GXxjBUBYvi7vD0g== 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=sZEjuR49JGeJ8PxnG3Lk2x0l3YRKk1uoSFwpD54EkI8=; b=Ypjfm7ztxymELrvKTdE7JVIx0WNkqTdGhnTI4epMFKTAekvLUWaa0W5L3jnLtH6oDti1Os4y6ct4HVxqCTipi6etLAVcwSwMK95IT+ZSverRTcExskf1HJja62Er16QS8bA0zThoh7iHfp40CElM5R5/nTo1b+L+1GSM0CijuQta1IkmYlMGAD0vn7KMhX818D3k7DKIGOarOrWdndMxwys4d7Cw/5pH6hvTVR6dFRvrIPA3OraYUNnLFba2yVBTD3Dpct8s+Bj9DwfqI02iUrHLWEqUhWwu6VuWAE/DQA05p+SSsAt2+12ks6RWQ9EaXLaRvLpcREBuHLKjzpkJxg== 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=sZEjuR49JGeJ8PxnG3Lk2x0l3YRKk1uoSFwpD54EkI8=; b=PCKNr/35FY65hsfFIq52Y+HUIz7eoNICaUmvg95zWgyc4hNxSmTWv+/KGQ+W0Zzj0GSHyvqDhepCu7i3UE+6YmpWK0fcVzfSggCRg16OzHz3VohIOb8WKENcXlSS1rox3dG8Ch7FwlUF5sA/Kj+K3DqlFaAnIzLFIVNPDqIDrnWvbZlfKCzaGDh6cnDB+DvS2YS7r298rkwJ4aPVSc6l5VgCZHWsHUOkSFYaCTQFFqoc+fDf3Q+Wg7Oxa4+auryL07XZNBbyjK4WwKU8TDKIO63Demcmt9MvXPhiL++H73koi0ItdJ7hVBWg3xrxp16aAbAmU7FxxY6Qe0G5SN7TSQ== Received: from TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) by TYZPR06MB4301.apcprd06.prod.outlook.com (2603:1096:400:66::14) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.7270.33; Sun, 11 Feb 2024 05:42:00 +0000 Received: from TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::e139:fd7a:1b66:a3f7]) by TYSPR06MB6433.apcprd06.prod.outlook.com ([fe80::e139:fd7a:1b66:a3f7%7]) with mapi id 15.20.7270.028; Sun, 11 Feb 2024 05:41:59 +0000 From: Nuo Mi To: ffmpeg-devel@ffmpeg.org Date: Sun, 11 Feb 2024 13:41:31 +0800 Message-ID: X-Mailer: git-send-email 2.25.1 X-TMN: [JUZwYqh2vknbJnN/ukOqwOdaJVEY2Gpy] X-ClientProxiedBy: TYCP286CA0030.JPNP286.PROD.OUTLOOK.COM (2603:1096:400:263::20) To TYSPR06MB6433.apcprd06.prod.outlook.com (2603:1096:400:47a::6) X-Microsoft-Original-Message-ID: <20240211054131.5484-1-nuomi2021@gmail.com> MIME-Version: 1.0 X-MS-Exchange-MessageSentRepresentingType: 2 X-MS-PublicTrafficType: Email X-MS-TrafficTypeDiagnostic: TYSPR06MB6433:EE_|TYZPR06MB4301:EE_ X-MS-Office365-Filtering-Correlation-Id: 93e30ac9-33f1-42b4-2cc6-08dc2ac42a53 X-MS-Exchange-SLBlob-MailProps: laRBL560oLTQ9dZGaYUiMRu3ApRxL8GSJEQUlsg32Q21Ekm28YPFgjqkA21rZblCKRpUTjUu8zkpkvuyv6U1lvGOOp3lXSIseql/cCovsaPqkJ4e6+TF5+rnW106mLdYpH5ZUCzBGBdb9F15Z7aE3V8drhO4IdUKIaThcn36k+lunHvEl6ixilu6FDJ/5xQf+00ft9pdLiVcy9qXgr3P/O9orzlzmR6pzKHAfQdsjWluXXFh1XdN5IG8YCdMafwEYGrwG7uUWNdO6ABWujUTLuLNDANALv6Y8D5Tfd7o5j0PEboaxGyTb64yQebCKN3nrtAyFU/1X8/MgjignvgCIp5dlcz0CDrEbVhtuQvHsbwrqm6zv4/4Jqn+/XcareC9igmBWtO6Pqbqjpz6EQ1oo+6acv5CVHDfsBWv8iR2T2AxD4hIn6iDIf/EtAnWWe6ybxzkr5qXkatMnuUcosPmRBwtpUD7eyKA2nRtkBeWtrS+tmSB90IaDhGpfl5pTwUFOCkGErMYJT3W8VUdh7KrySlvWCpw3/ieXoXtS2y8J8SSle2PpqFujEtdMaTSSzdBHlZqp3G1WCrf5C6zt1dH1AP7P4mYUMkSl/RgDJJ0sz2quwfy1ELcO2Qs5St+hFbnJJjcYbJB3SyKDtAREwHy3RjWbk4JkebOyLNubjTd4AGSEdmMj2T1fux62wGI1r32LzstSfGSJ7yOUTlNIiby6/r1BN16qS85mfveweP81C+aIHSRN3aBy2Hcf4tmBpRbcCZ5aUcgnfS0wupy2J6URst2jyXXmvrC X-Microsoft-Antispam: BCL:0; X-Microsoft-Antispam-Message-Info: G4z22iE1MYAzPiX6qoU5JlIenx/RlLFQG9QmmbwkZluDmbWfo8UX31Fh4EyXU8FS0R1oEZQQUzbb6LIM+LBU/u+NiSn/+bqPdZjABwz0UnD8bV24gzPiPyhYfj7P0lUHRre8Ns2YDyhrDKYUHkz6htYBdQ1DmlTcy+ccq8gZjnTwWFBNp9jte4SNsMExq5pFFjqnlN64GYRBckVJzWfEplJFk42jjbXgfA8iOEHbmQikDQ49Uf/OGJdSwOxWbcn+vYWBMrD0vu9PBz78M8sq45nlqbUl2/+3GrYdDS+2EsRnCozZPTZPuLEp0ud0njBbaksYTaGyOdlilZE+CxbpksxapiyliKeb8gNaHC6HTFvASeWnoyhb4a5OW54nf93nAD6jgncp8AqPGs3wPVdCea9IewwxrxXTjTM/sBzFqF1Ab+5OhyskB1mnKlfI+eRAVo4AWubFS2hiySqLJXk7GcfGB4W/uBWCBjq9oZHKuICXU6w+hgxjChHAdeHujMSLGiPGQLpWCJQZPhCY1Ap3/DCvufReFiFKiTJYozYUAdWs8mkUD2hoevdTo1tVt+Lx96vFZvpiJQdjvbXRTLykn61kKMnG0DN9dsU7TabKwzVxb9sejMiuD2n2UeNrQREd X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1 X-MS-Exchange-AntiSpam-MessageData-0: 8YdVgnAGxLY6jFVjbfBi069lE9okXth1sRYy2/oftcAOCTaxBpMpbJImoSFIscPyAq7+KNBTtOD4VvFfsFUVcR+oCBgiruWm3tLyentoCDA7xm9X+5Bnzc9nOMa+pxjeZulvy2c6yGPd2XHuX4++8kiclMEV1GdQf60adIOOLlvKLg8F4dN0UArXCMZ/WT5fON3cPAUg9g/E2wsxtLzv3pXoqia0Tfo846yFVK6/xlWdPcnunk3k1re2Rpoygs7edn6CzmAIpP7XBW9NY30dI4bLki+QLMC7YFS3g+q/5RXy55KUVVfMgxkdcwR+DyBkWfW4HymTl/VdaMlVs7djERbRiPJZ7Gz+Euz0v3y+gcmav0P8GMdsrpPECQy1SmRKe1HdgwGsMFbxarlzXrDMXpISaHBY7RPfgew5X0vro933c7/8uiyAThA1EpIDQeHoc5P92R5aACWztb4bBUeL4PBxJwPUg/2QbS8YprmjdEW38rl3teumu1jllGpBU8dFS3Z2Kb7Tc2lUdj1BJkjm2jo8yteakbSXBKM/zaRbpgK8ZGiSefyQwS162eVuHsR5rdW/FVrut9Pp+fT4xsodpXKu34kAKrNk51KgWdwe1c2ZPhe5CBl5C/kuutk70CGHl3jKksdEu0eYCB1KaAUkJlDDJFv6v72Vv274UEJutHJ029ihTaobXjXRCyP6i91ZYloX6X5m5hlfc41r3VQqFcsBV5oxZu1gjLpH5lBet3VHWD4I693MGaU1jdGED5s/2vI5aShDKFLk2W0u+n0rcjF+QGQJsCw8TmgRHVcWn70Wey4gYG49ZUU24kbuP4mRdTs+Dz3jz/A3wn07PJvr+7AWdueXhaF2LwuWddZAXeVCeYvSktEpd0CGoeR4yiCHSP9opbLB1MN96Pp7EcqvXqdNLYihfILre1Ll3cLHK9sjXcQBlGJWM/n+v/YR6VkL9PbB2GAn07SwVXBFqxUN1krirjDcYHrSzanJ9+qGoOKeJ6aPDuKrxh24zLurjwSN6Ongn0ClK/mUO5nlnBniZjryQt64LawgR2e0QrEkJd61r46DSFkXzRWMr+R06NIpUR1VV3d6OuZvCNxlvUvWyej7ktMXUKJtGL0s6hzMlpJajaJbS5FEksOJ8n44Q7s+cCd58R94ksnBfQEK7r8oljgR35szDkX54UEoXPu8e0PwsV/8V0Q1V4+9jbnrEGmN+blJAj+aLQ/2HLvmdlMzP3dQC+AAEonoIFsoBhHkoOMzmxnNyZ/aMQhDMKwFHzLQhHLUwS1u2sv/h1lghXw1WA== X-OriginatorOrg: outlook.com X-MS-Exchange-CrossTenant-Network-Message-Id: 93e30ac9-33f1-42b4-2cc6-08dc2ac42a53 X-MS-Exchange-CrossTenant-AuthSource: TYSPR06MB6433.apcprd06.prod.outlook.com X-MS-Exchange-CrossTenant-AuthAs: Internal X-MS-Exchange-CrossTenant-OriginalArrivalTime: 11 Feb 2024 05:41:59.4383 (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: TYZPR06MB4301 Subject: [FFmpeg-devel] [PATCH] avcodec/hevcdec: fix out of bounds index -1 for inter prediction 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: Nuo Mi , James Almer Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: sRFofKFXDo7a It's a false positive. We use -1 to index an array, but it's not actually used. This patch will make the "GCC UndefinedBehaviorSanitizer" happy. Found by: checkasm-hevc_pel in https://fate.ffmpeg.org/report.cgi?time=20240211011905&slot=x86_64-archlinux-gcc-ubsan Reported-by: James Almer --- libavcodec/hevcdsp_template.c | 6 +++--- libavcodec/x86/hevcdsp_init.c | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/libavcodec/hevcdsp_template.c b/libavcodec/hevcdsp_template.c index 9b48bdf08e..a4b8901e5d 100644 --- a/libavcodec/hevcdsp_template.c +++ b/libavcodec/hevcdsp_template.c @@ -301,9 +301,9 @@ IDCT_DC(32) // //////////////////////////////////////////////////////////////////////////////// #define ff_hevc_pel_filters ff_hevc_qpel_filters -#define DECL_HV_FILTER(f) \ - const uint8_t *hf = ff_hevc_ ## f ## _filters[mx - 1]; \ - const uint8_t *vf = ff_hevc_ ## f ## _filters[my - 1]; +#define DECL_HV_FILTER(f) \ + const uint8_t *hf = mx ? ff_hevc_ ## f ## _filters[mx - 1] : NULL; \ + const uint8_t *vf = my ? ff_hevc_ ## f ## _filters[my - 1] : NULL; #define FW_PUT(p, f, t) \ static void FUNC(put_hevc_## f)(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, int height, \ diff --git a/libavcodec/x86/hevcdsp_init.c b/libavcodec/x86/hevcdsp_init.c index 31e81eb11f..e0f65177c4 100644 --- a/libavcodec/x86/hevcdsp_init.c +++ b/libavcodec/x86/hevcdsp_init.c @@ -87,9 +87,9 @@ IDCT_FUNCS(avx) #define ff_hevc_pel_filters ff_hevc_qpel_filters -#define DECL_HV_FILTER(f) \ - const uint8_t *hf = ff_hevc_ ## f ## _filters[mx - 1]; \ - const uint8_t *vf = ff_hevc_ ## f ## _filters[my - 1]; +#define DECL_HV_FILTER(f) \ + const uint8_t *hf = mx ? ff_hevc_ ## f ## _filters[mx - 1] : NULL; \ + const uint8_t *vf = my ? ff_hevc_ ## f ## _filters[my - 1] : NULL; \ #define FW_PUT(p, a, b, depth, opt) \ void ff_hevc_put_hevc_ ## a ## _ ## depth ## _##opt(int16_t *dst, const uint8_t *src, ptrdiff_t srcstride, \