diff mbox series

[FFmpeg-devel,3/5] lavu/common.h: Fix UB in av_clip_uintp2_c()

Message ID 653b59c05d14ef9a5574331a0ecd4004a0266b50.camel@haerdin.se
State New
Headers show
Series [FFmpeg-devel,1/5] lavu/common.h: Fix UB in av_clipl_int32_c() | expand

Checks

Context Check Description
yinshiyou/configure_loongarch64 warning Failed to apply patch
andriy/configure_x86 warning Failed to apply patch

Commit Message

Tomas Härdin May 29, 2024, 10:14 p.m. UTC

Comments

Michael Niedermayer May 31, 2024, 12:27 a.m. UTC | #1
On Thu, May 30, 2024 at 12:14:09AM +0200, Tomas Härdin wrote:
> 

>  common.h |    4 ++--
>  1 file changed, 2 insertions(+), 2 deletions(-)
> 1fdb9cd4a83522921c2b15a1e76ff2f65ef61f57  0003-lavu-common.h-Fix-UB-in-av_clip_uintp2_c.patch
> From f81730f8facc54ef23df79ac8d33075403b4f76f Mon Sep 17 00:00:00 2001
> From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= <git@haerdin.se>
> 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<<p) - 1)) return (~a) >> 31 & ((1<<p) - 1);
> -    else                   return  a;
> +    if (a & ~((1U<<p) - 1)) return (~a) >> 31 & ((1U<<p) - 1);
> +    else                    return  a;
>  }

LGTM

thx

[...]
diff mbox series

Patch

From f81730f8facc54ef23df79ac8d33075403b4f76f Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Tomas=20H=C3=A4rdin?= <git@haerdin.se>
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<<p) - 1)) return (~a) >> 31 & ((1<<p) - 1);
-    else                   return  a;
+    if (a & ~((1U<<p) - 1)) return (~a) >> 31 & ((1U<<p) - 1);
+    else                    return  a;
 }
 
 /**
-- 
2.39.2