From patchwork Wed May 29 22:13:14 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Tomas_H=C3=A4rdin?= X-Patchwork-Id: 49369 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:8f0d:0:b0:460:55fa:d5ed with SMTP id i13csp952168vqu; Wed, 29 May 2024 15:13:28 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCUOaRmBEZUJPa+UJ47GuCprcBUUFF0/h+0AsmgWgLjNV77ibiltm9dt8WDqwLy/p7+Hj/g18K8Fo7iqjlMQPHyvwQF4yPl5PttUQg== X-Google-Smtp-Source: AGHT+IEHLdHRm40uJl/X8iJ9Br+b7a/nnD49sQHAX8VTxDCak8s2tn0ObBVOlEGsymhI6hTyAcFQ X-Received: by 2002:a17:906:1cdb:b0:a62:de58:b350 with SMTP id a640c23a62f3a-a65e91010b8mr34857566b.59.1717020807794; Wed, 29 May 2024 15:13:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1717020807; cv=none; d=google.com; s=arc-20160816; b=EP5zBjEyIVCyE1YNVYVY4Husxj9GwGGITMpfQGUYsxpd7apzFXOkJ2eVjBX68h1Zo/ C9u0EXJ6WWkaNTnFMkJcYpZLH6yPlVOMeNZqwkPJmXM05iltgFBYu47dNj92cXhPMTZM L6F6bdmVFpzMnGxwdiTtEdl3KFjcz37vaQ8tyCTND2jPkPw+sEmUAg4QcUHc3w2PyBJz CNoVILHvcmhbE1qjX1XKYfzzH70S6F/BFtSrMmPk29TRDcj200woOamFtHl0v+01XW7G o4zFm3uq0wf9nqYBtwWG2/dJGvEMuCwH0zOv53nzoSe2czCc0uyf42HoYgThZTSV6mXd 1pMQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:user-agent:date:to:from:message-id:delivered-to; bh=ROuWsszSSgSDrQdZLD02uHtYLYaSnlKH8CdYA+VkCMM=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=xyLMOar3DVhLGQ94lZNwezT3iRrod5aJnSuUq8ax1HzR4NxWcSWRjV0mScx+IKlD/0 I1vcC7J5bLAyvxXSSlBlLJLB3f8dtinEATpPQjM3zN2eqG24kyK6qVinOfHYxW156yb7 TBH+arZcKmXa3mVQb5gGIADWjeDn/hn0fxgCr8G52nXAbIJioILJEsdlDblgCaMBh2zQ PatKFLQMBKMpRWn/zZlpxsmwWTMtcPWqvH0ARPwKKdt/FROVNCINw5CfpMbIt2qL8vvJ jv+gNbms1TfJFrONdNoxZ47NuMD0GyIm5o7iCmoJSCCGktN0T//Q0KViWiQB+plmvJv+ hPnQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a626cc37f04si694147666b.358.2024.05.29.15.13.27; Wed, 29 May 2024 15:13:27 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 7311A68D390; Thu, 30 May 2024 01:13:23 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from glom.nmugroup.com (glom.nmugroup.com [193.183.80.6]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 57EA568BFFF for ; Thu, 30 May 2024 01:13:16 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by glom.nmugroup.com (Postfix) with ESMTP id 4824954292DE for ; Thu, 30 May 2024 00:13:15 +0200 (CEST) Received: from debian.lan (unknown [IPv6:2a00:66c0:a::72c]) (Authenticated sender: git01) by glom.nmugroup.com (Postfix) with ESMTPSA id 099A45429274 for ; Thu, 30 May 2024 00:13:14 +0200 (CEST) Message-ID: <27e5f614496e729f68326a31c3ac70d5923cfa97.camel@haerdin.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Thu, 30 May 2024 00:13:14 +0200 User-Agent: Evolution 3.46.4-2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 1/5] lavu/common.h: Fix UB in av_clipl_int32_c() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: vssNKqbKqapk The entire patchset passes FATE /Tomas From c000b8a5e90883f28ce6c58960227e5825ac20d1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Wed, 15 May 2024 21:03:47 +0200 Subject: [PATCH 1/5] lavu/common.h: Fix UB in av_clipl_int32_c() Found by value analysis --- libavutil/common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/common.h b/libavutil/common.h index 3e4c339893..ac68c0cfff 100644 --- a/libavutil/common.h +++ b/libavutil/common.h @@ -252,8 +252,8 @@ static av_always_inline av_const int16_t av_clip_int16_c(int a) */ static av_always_inline av_const int32_t av_clipl_int32_c(int64_t a) { - if ((a+0x80000000u) & ~UINT64_C(0xFFFFFFFF)) return (int32_t)((a>>63) ^ 0x7FFFFFFF); - else return (int32_t)a; + if ((a+UINT64_C(0x80000000)) & ~UINT64_C(0xFFFFFFFF)) return (int32_t)((a>>63) ^ 0x7FFFFFFF); + else return (int32_t)a; } /** -- 2.39.2 From patchwork Wed May 29 22:13:48 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Tomas_H=C3=A4rdin?= X-Patchwork-Id: 49370 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:8f0d:0:b0:460:55fa:d5ed with SMTP id i13csp952464vqu; Wed, 29 May 2024 15:14:01 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWjgkXiRQIHEx3mDWvrkL8UqXGHjTpL7IB3yevJx20E47ID1czVejzQMwWjWHBNHfR9h8U76iBmU9FskbUwuagMgXW6UeIhQ2CuUw== X-Google-Smtp-Source: AGHT+IE6cP9oGZFvhqKeRVES/tCWE0NqUJty1PF2Kz1oxJNDZL412SqqrpHuoodttcLzC7aQQBAW X-Received: by 2002:a17:907:9717:b0:a5a:7a1:5da6 with SMTP id a640c23a62f3a-a65e90f780amr23642966b.3.1717020841232; Wed, 29 May 2024 15:14:01 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1717020841; cv=none; d=google.com; s=arc-20160816; b=p8HAhsHmAkCgQ1RUAFzySg22qBpWQTB5btg+evqrGBMKkA8kun9hAM5le55rzuvm0u 8NLvz3gw3zRO6C74ns38FBUi+dLDOpWIaH7kz1eXSXDLyIPG6EIGTC7o0VBfX91pqLHQ MB9/thO+489ISUZcHJ4yPE75AH6v6ItKu9nvhWDJIXuWeF/MDychgisL1zTpiL/IqCcy AeYA/J7UIPnMYWpmwwSlj9sxEnBHKTrO8uuFgY3HYbg4rwP3skeGQhyv960Y2KbPapnc xkerus1wXbIRvjFid8sHOCyvc/y4nMPsHMQksI3EnCgceV6OdiNREodVYByM1pj/Kffw 8yOg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:user-agent:references:in-reply-to:date:to:from :message-id:delivered-to; bh=aeHmulfQCvdya+ENumELAnWYXkgXOMNRsMBcbzCEn8k=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=JdycGn00hHjOGvxIspHWzl4aTK6eYxGRIN3UpB+WEmAGWjLX0OcP7Lzxx1T5eCrBur RxHf/UTeJisznK4NBYTm4imhrz1yET7cpy4olppT7/BF0UH4MvYWkxYjMKFhY/OpXuGJ CwpbB/AAOpF5OgGshsmalTmHoPsLeKBP0cE4eq1ShIEIYfMqvf3XecwAVKXvzJQ0Z34s +LKotF0u+1yn/ofUDv3/47JYmDJfdnnIBAWqEDAJwaScccGqxQfiar2+SjX4PUt7+B+e 73HPL1Y41E/kYJT3oi+dyaLfDBSu5iHREZ+J5ttjEEpJM8QAoN/G9dORrSCbMoMR4zxV PlJQ==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a626cc642dcsi648912066b.504.2024.05.29.15.14.00; Wed, 29 May 2024 15:14:01 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id C935868D406; Thu, 30 May 2024 01:13:58 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from glom.nmugroup.com (glom.nmugroup.com [193.183.80.6]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 565D468BFFF for ; Thu, 30 May 2024 01:13:51 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by glom.nmugroup.com (Postfix) with ESMTP id 0346754292DE for ; Thu, 30 May 2024 00:13:51 +0200 (CEST) Received: from debian.lan (unknown [IPv6:2a00:66c0:a::72c]) (Authenticated sender: git01) by glom.nmugroup.com (Postfix) with ESMTPSA id B32735429274 for ; Thu, 30 May 2024 00:13:48 +0200 (CEST) Message-ID: <8cfb78ebf68076f26aee97f951fc135e6aede100.camel@haerdin.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Thu, 30 May 2024 00:13:48 +0200 In-Reply-To: <27e5f614496e729f68326a31c3ac70d5923cfa97.camel@haerdin.se> References: <27e5f614496e729f68326a31c3ac70d5923cfa97.camel@haerdin.se> User-Agent: Evolution 3.46.4-2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 2/5] lavu/common.h: Fix UB in av_clip_intp2_c() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: gXVW0RJsW/KJ From 7b18f24c0bedfeebcdfb23ea837cea8d4c35cf30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Thu, 16 May 2024 16:33:44 +0200 Subject: [PATCH 2/5] lavu/common.h: Fix UB in av_clip_intp2_c() Found by value analysis --- libavutil/common.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavutil/common.h b/libavutil/common.h index ac68c0cfff..715f0a594c 100644 --- a/libavutil/common.h +++ b/libavutil/common.h @@ -264,7 +264,7 @@ static av_always_inline av_const int32_t av_clipl_int32_c(int64_t a) */ static av_always_inline av_const int av_clip_intp2_c(int a, int p) { - if (((unsigned)a + (1 << p)) & ~((2 << p) - 1)) + if (((unsigned)a + (1U << p)) & ~((2U << p) - 1)) return (a >> 31) ^ ((1 << p) - 1); else return a; -- 2.39.2 From patchwork Wed May 29 22:14:09 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Tomas_H=C3=A4rdin?= X-Patchwork-Id: 49371 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:8f0d:0:b0:460:55fa:d5ed with SMTP id i13csp952645vqu; Wed, 29 May 2024 15:14:20 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCXuebDx1Ao1GCRG75CqSiCaI1XAqYggyyktosM1g4IIEL33pE12lW3twZ74NiYoyQ5I9lkhwwVrL07rfnQyWVpnv3rTiMzyB9XdhQ== X-Google-Smtp-Source: AGHT+IG2naKeq2D37EGOom/+DpF7tOsJhPmluJ5vlKXaSgyTVO1gQR80tmcetupKfrtGfFQWqZz4 X-Received: by 2002:a17:906:30cb:b0:a64:a80c:1f26 with SMTP id a640c23a62f3a-a65e8f7c4a3mr24005366b.45.1717020859751; Wed, 29 May 2024 15:14:19 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1717020859; cv=none; d=google.com; s=arc-20160816; b=OApoU6XRuoQpGg8hoe1/Kq/eUqOQ6WVUvzEIDrq3Yw0ECVNcy3qfxtxoLVH64ITlbj 5c76XHQ0d1VxKvQ1CC5tnwovPoe9NaUziQs2iJECUS+C3sPKy3X+QXL8dJtS08pA9EuE o/7nO9Ha4Bu1FJlCurnStIPXX4M8zW854D6JTfeoSqmRxXF3ry8HTFK6vQwUX6objtPt be9sNWR24PJCZzSjyn/+1Cn1NWVuQcLP4SFaZ6HPsPAszwO1ZXe7cQj85nJ3K1aXl5IA kfUYAHlwX9NIovU1tj9QoclrLRCHcBda1exJR+p9wYoeOhd9RZs1ofiCfDhiFRBpbYbl IAAg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:user-agent:references:in-reply-to:date:to:from :message-id:delivered-to; bh=z0q77QIH9pEH5sC77iwGeCDhhlWrZPBehSdhJx8ewr4=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=Jm3h+VdF/QQF5cCCFWi7kPDrvquyWSdcKM8bZMbwZp6MCQ6VzOkQpJIKNOACGG4FDF eUadvVTw0U6WJLLpDloC6wM+2j5u5FDNUNP1VW4NLvGPxhAfHYXSuZ5BVyhTiirFyXnk Tt0LBUGxAqF53hvfkBtMH+HbU062NQ0xmhg/Go54+3ZUxiVsgO5WImcA2PeNEfM3d/nN vsjxe+u864oT5ClPOC+rGoeilwpLXEEniQEQaELarFvetYbJgFqQSP7OfmAP4yrd1PbU ZKEPWFAn0eezGO3YiCB+pQZQP/0nPDJypoLvP1AMbxaLBmeLp0BvIjhMCx96dOOX9Rzc 6Ajg==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a62c6482ae4si486559466b.157.2024.05.29.15.14.19; Wed, 29 May 2024 15:14:19 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 35AE968D428; Thu, 30 May 2024 01:14:17 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from glom.nmugroup.com (glom.nmugroup.com [193.183.80.6]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id 0E2F168BFFF for ; Thu, 30 May 2024 01:14:11 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by glom.nmugroup.com (Postfix) with ESMTP id 73ACD54292DE for ; Thu, 30 May 2024 00:14:10 +0200 (CEST) Received: from debian.lan (unknown [IPv6:2a00:66c0:a::72c]) (Authenticated sender: git01) by glom.nmugroup.com (Postfix) with ESMTPSA id 367B25429274 for ; Thu, 30 May 2024 00:14:09 +0200 (CEST) Message-ID: <653b59c05d14ef9a5574331a0ecd4004a0266b50.camel@haerdin.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Thu, 30 May 2024 00:14:09 +0200 In-Reply-To: <27e5f614496e729f68326a31c3ac70d5923cfa97.camel@haerdin.se> References: <27e5f614496e729f68326a31c3ac70d5923cfa97.camel@haerdin.se> User-Agent: Evolution 3.46.4-2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 3/5] lavu/common.h: Fix UB in av_clip_uintp2_c() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: DDUzJXZcg3Nl From f81730f8facc54ef23df79ac8d33075403b4f76f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Thu, 16 May 2024 16:37:58 +0200 Subject: [PATCH 3/5] lavu/common.h: Fix UB in av_clip_uintp2_c() Found by value analysis --- libavutil/common.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/common.h b/libavutil/common.h index 715f0a594c..8a3c4d2fcf 100644 --- a/libavutil/common.h +++ b/libavutil/common.h @@ -278,8 +278,8 @@ static av_always_inline av_const int av_clip_intp2_c(int a, int p) */ static av_always_inline av_const unsigned av_clip_uintp2_c(int a, int p) { - if (a & ~((1<> 31 & ((1<> 31 & ((1U< X-Patchwork-Id: 49372 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:8f0d:0:b0:460:55fa:d5ed with SMTP id i13csp952766vqu; Wed, 29 May 2024 15:14:34 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWJT99DO/RZ42Y6cLzFTugTaYNVjmf9b0QjDWCLPvHsn0Y1+KdCzOp4bFXeP/c/XWIqWVdD6fgE6oBFnjF/H+GZeC/Ywh9Es1861A== X-Google-Smtp-Source: AGHT+IGk0O4qWKXwnk4xOp3Ju1kVizvYd5hR/I+SUHAbj8lCgQaadws9G7e55CaCItkQ6m18jWiL X-Received: by 2002:a05:6512:2087:b0:51f:1bf8:610c with SMTP id 2adb3069b0e04-52b7d419de6mr217195e87.11.1717020874273; Wed, 29 May 2024 15:14:34 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1717020874; cv=none; d=google.com; s=arc-20160816; b=TJxUaaPbOg6S/UhS8oMR91TC/8/rvp4nVjv3cW7nbsvLUnK75rD76Rbj0t8To3g8Gn unyu6pMPkjsgS1r4HyKIB+aRcazp5XuahBG4s/or4ood5+J2+SrrQgt6+IXqQHLdvDUb JPynQcbuftv1ElOVsscXmPhfnAH0jy1Z4jNeUHqMVJzPspofF6mCkBlRzzNnPMvAzzMj rTtwxv6BdlesI9Ko+hiwe9sw7YznNH1G5HH/2WhK2+GyIwGmNu19HpgBpHrH18X10wYt w1SlSHUTSclNiu1kPxeIsaYWV3n690M/Cqbu3jYXJVUL0IKm4LrF50pIaIqUG3rtsBvF NiUQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:user-agent:references:in-reply-to:date:to:from :message-id:delivered-to; bh=qgLfIF1rKlFQbsctqhw0e1LfVrkuKmonPMDi5XY6UNE=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=HTVpZAQ+ryT2lmcmW/BTjJCVe5hpExvFlMhQd7ZCY0gcFrBkbZqrZMeIQBgvN7nUMS 9gWWqGRa7P41VUumTcwGYNYzVj0cRugtVK2m2n2yyINoNf9JN8va3UEqrKJGajycvzeO 896vZZ7xrP1w+C0yY2r+PSEh/0jTa5VejWxPjVoyV7icqg/O0Kjj9rNMVMySe3ZTNeHK 8PXCC797ae4pi+UypzNQrIS+r+AgM2q3Hg/LzKkSngwXEjopxrG7AFqkThZo2STiq1MN HI25KWUg8bZrayfV/euLQtZ/Vcyg2JnGCJBbmPl24KFRtvtx0vDQNAxGtRWpL/7keMT/ jsyw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a633c3fa442si245952666b.540.2024.05.29.15.14.33; Wed, 29 May 2024 15:14:34 -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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id 5F01168D321; Thu, 30 May 2024 01:14:31 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from glom.nmugroup.com (glom.nmugroup.com [193.183.80.6]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id B012068C27B for ; Thu, 30 May 2024 01:14:24 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by glom.nmugroup.com (Postfix) with ESMTP id 4C48054292DE for ; Thu, 30 May 2024 00:14:24 +0200 (CEST) Received: from debian.lan (unknown [IPv6:2a00:66c0:a::72c]) (Authenticated sender: git01) by glom.nmugroup.com (Postfix) with ESMTPSA id 10AB05429274 for ; Thu, 30 May 2024 00:14:23 +0200 (CEST) Message-ID: <0c19df65a8142e2cf96fbc07a92bf44bb32f1107.camel@haerdin.se> From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Thu, 30 May 2024 00:14:23 +0200 In-Reply-To: <27e5f614496e729f68326a31c3ac70d5923cfa97.camel@haerdin.se> References: <27e5f614496e729f68326a31c3ac70d5923cfa97.camel@haerdin.se> User-Agent: Evolution 3.46.4-2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 4/5] lavu/intmath.h: Fix UB in ff_ctz_c() and ff_ctzll_c() 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: rOi0thu+oo3Y From f9a12089bc98dde0ccc2487d1442ec6ddb7705f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Thu, 16 May 2024 18:10:58 +0200 Subject: [PATCH 4/5] lavu/intmath.h: Fix UB in ff_ctz_c() and ff_ctzll_c() Found by value analysis --- libavutil/intmath.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavutil/intmath.h b/libavutil/intmath.h index c54d23b7bf..52e11a8d5f 100644 --- a/libavutil/intmath.h +++ b/libavutil/intmath.h @@ -119,7 +119,7 @@ static av_always_inline av_const int ff_ctz_c(int v) 0, 1, 28, 2, 29, 14, 24, 3, 30, 22, 20, 15, 25, 17, 4, 8, 31, 27, 13, 23, 21, 19, 16, 7, 26, 12, 18, 6, 11, 5, 10, 9 }; - return debruijn_ctz32[(uint32_t)((v & -v) * 0x077CB531U) >> 27]; + return debruijn_ctz32[(uint32_t)((v & -(uint32_t)v) * 0x077CB531U) >> 27]; } #endif @@ -135,7 +135,7 @@ static av_always_inline av_const int ff_ctzll_c(long long v) 63, 52, 6, 26, 37, 40, 33, 47, 61, 45, 43, 21, 23, 58, 17, 10, 51, 25, 36, 32, 60, 20, 57, 16, 50, 31, 19, 15, 30, 14, 13, 12 }; - return debruijn_ctz64[(uint64_t)((v & -v) * 0x022FDD63CC95386DU) >> 58]; + return debruijn_ctz64[(uint64_t)((v & -(uint64_t)v) * 0x022FDD63CC95386DU) >> 58]; } #endif -- 2.39.2 From patchwork Wed May 29 22:15:27 2024 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: =?utf-8?q?Tomas_H=C3=A4rdin?= X-Patchwork-Id: 49373 Delivered-To: ffmpegpatchwork2@gmail.com Received: by 2002:a59:8f0d:0:b0:460:55fa:d5ed with SMTP id i13csp953514vqu; Wed, 29 May 2024 15:15:38 -0700 (PDT) X-Forwarded-Encrypted: i=2; AJvYcCWV/00HQ5LSMOnTb5MuSZnid0zBMDQTWyYfBBcCmkXMxX/jzjysRSp2ewTfsRrto2mN4rbYma2mI0KscuoMraspvcs3WM9qYLBSFA== X-Google-Smtp-Source: AGHT+IFPlC4BJh1ji3XaGmjJk5D7KjjaGYw87d9rJ+J2j+uuWigtGXifsKYtyDFENdT3AVE1u9FM X-Received: by 2002:a17:907:bb8a:b0:a5a:89cf:489a with SMTP id a640c23a62f3a-a65e9102b36mr26603866b.4.1717020938034; Wed, 29 May 2024 15:15:38 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1717020938; cv=none; d=google.com; s=arc-20160816; b=SOPfB0NBJbrZRvGvhu7xM/jTz70WknyqC+CdxWYRQzfZUfsF7aBhoVa18kQb3tWvp0 5UhB70k+/NFFX2Kh0/I/cxTatXK/ehdIL/5uRwjurPVe03IgDM/tecWbvcwvToio5//Z xKhwfr7j3SNlxZVYwDLR3ZETU+lWQfDcntbAVtyhATFxwjBP+exB1A5OIVpty1vmogoA KmlBf4xMPwI7QPA+IKajVHGX1WWay74CQMnS1QzdbAKG/9eqKLOpfRwgMgAOsbP/Gn5n 34Fwi248jS6whA+OI7l2Pte+HpcUQvVcB8yeIPh4+sF14JsYcgKGooNH0XwGfmY9IqVY Gtaw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=sender:errors-to:reply-to:list-subscribe:list-help:list-post :list-archive:list-unsubscribe:list-id:precedence:subject :mime-version:user-agent:references:in-reply-to:date:to:from :message-id:delivered-to; bh=Q2hLIAPbITt8MIipkIoI+aY7DRtU2sSRjUvP26Y6Quk=; fh=e5zN9xSzcxLA6bGo3lF+CqTbY/oLwzApV03EO/RBfgQ=; b=RW+tbODblcs7Hyhx1hKfz1DdpcWihkZADmiWbBAY/55l2jNh9k5ZUXLa//5FF6OQ+j aiefykNS4IvEphT4RgVSgidqjplcolJSrTO/EO4LW97uHNqvEYuc12sdNc4OPnYW7b4z IWffWkBofVHQTLOL37PWsWNsf71kn+SxPX2PSu9553ni5bcoiR0RH5cEI3SsuXrsIyAg CerWz4MZyVQqouQyFHoGILEdCY8MKBjY2erzrS5wgdpfzEFryAldWynVGL2IdM1Mg3cr V4IH2HYah7FXAM0QO8kLZQdbP/41uk7TgDUfEA9jQa22Lux5YkQAtHmwjQPJASR/bIFu XsAw==; dara=google.com ARC-Authentication-Results: i=1; mx.google.com; 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 Return-Path: Received: from ffbox0-bg.mplayerhq.hu (ffbox0-bg.ffmpeg.org. [79.124.17.100]) by mx.google.com with ESMTP id a640c23a62f3a-a633c3fa442si246036966b.540.2024.05.29.15.15.37; Wed, 29 May 2024 15:15: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; 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 Received: from [127.0.1.1] (localhost [127.0.0.1]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTP id AF49368D3C5; Thu, 30 May 2024 01:15:35 +0300 (EEST) X-Original-To: ffmpeg-devel@ffmpeg.org Delivered-To: ffmpeg-devel@ffmpeg.org Received: from glom.nmugroup.com (glom.nmugroup.com [193.183.80.6]) by ffbox0-bg.mplayerhq.hu (Postfix) with ESMTPS id EE19368C0E9 for ; Thu, 30 May 2024 01:15:28 +0300 (EEST) Received: from localhost (localhost [127.0.0.1]) by glom.nmugroup.com (Postfix) with ESMTP id 5F60054292DE for ; Thu, 30 May 2024 00:15:28 +0200 (CEST) Received: from debian.lan (unknown [IPv6:2a00:66c0:a::72c]) (Authenticated sender: git01) by glom.nmugroup.com (Postfix) with ESMTPSA id 2171C5429274 for ; Thu, 30 May 2024 00:15:27 +0200 (CEST) Message-ID: From: Tomas =?iso-8859-1?q?H=E4rdin?= To: FFmpeg development discussions and patches Date: Thu, 30 May 2024 00:15:27 +0200 In-Reply-To: <27e5f614496e729f68326a31c3ac70d5923cfa97.camel@haerdin.se> References: <27e5f614496e729f68326a31c3ac70d5923cfa97.camel@haerdin.se> User-Agent: Evolution 3.46.4-2 MIME-Version: 1.0 Subject: [FFmpeg-devel] [PATCH 5/5] lavu/mathematics: Return early if either a or b is zero 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 Errors-To: ffmpeg-devel-bounces@ffmpeg.org Sender: "ffmpeg-devel" X-TUID: fb9hbpuYuAE1 This doesn't really fix anything, it just makes the value analysis easier. I don't feel strongly about it. /Tomas From cf9c56d7d4d7325d51ba6d99259431be7fca1f67 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= Date: Mon, 20 May 2024 14:46:01 +0200 Subject: [PATCH 5/5] lavu/mathematics: Return early if either a or b is zero This removes the need to check b further down --- libavutil/mathematics.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/libavutil/mathematics.c b/libavutil/mathematics.c index 61aeb7c029..06f6e61e78 100644 --- a/libavutil/mathematics.c +++ b/libavutil/mathematics.c @@ -71,6 +71,9 @@ int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd) rnd -= AV_ROUND_PASS_MINMAX; } + if (a == 0 || b == 0) + return 0; + if (a < 0) return -(uint64_t)av_rescale_rnd(-FFMAX(a, -INT64_MAX), b, c, rnd ^ ((rnd >> 1) & 1)); @@ -85,7 +88,7 @@ int64_t av_rescale_rnd(int64_t a, int64_t b, int64_t c, enum AVRounding rnd) else { int64_t ad = a / c; int64_t a2 = (a % c * b + r) / c; - if (ad >= INT32_MAX && b && ad > (INT64_MAX - a2) / b) + if (ad >= INT32_MAX && ad > (INT64_MAX - a2) / b) return INT64_MIN; return ad * b + a2; } -- 2.39.2