[FFmpeg-devel] [PATCH] avcodec/texturedspenc: Fix invalid shift

Andreas Rheinhardt andreas.rheinhardt at outlook.com
Tue May 10 19:21:26 EEST 2022


Left shifts of signed types are UB unless the results fit
into the type. (Furthermore the value to be shifted need to be
nonnegative.)

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt at outlook.com>
---
 libavcodec/texturedspenc.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/libavcodec/texturedspenc.c b/libavcodec/texturedspenc.c
index 381be16f75..21e341c613 100644
--- a/libavcodec/texturedspenc.c
+++ b/libavcodec/texturedspenc.c
@@ -181,9 +181,9 @@ static unsigned int match_colors(const uint8_t *block, ptrdiff_t stride,
     int x, y, k = 0;
     int c0_point, half_point, c3_point;
     uint8_t color[16];
-    static const int indexMap[8] = {
-        0 << 30, 2 << 30, 0 << 30, 2 << 30,
-        3 << 30, 3 << 30, 1 << 30, 1 << 30,
+    static const uint32_t indexMap[8] = {
+        0U << 30, 2U << 30, 0U << 30, 2U << 30,
+        3U << 30, 3U << 30, 1U << 30, 1U << 30,
     };
 
     /* Fill color and compute direction for each component */
-- 
2.32.0



More information about the ffmpeg-devel mailing list