]> git.sesse.net Git - ffmpeg/commitdiff
avcodec/pgxdec: Fix invalid shift in write_frame_*
authorMichael Niedermayer <michael@niedermayer.cc>
Sat, 25 Jul 2020 21:14:10 +0000 (23:14 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 28 Sep 2020 22:43:26 +0000 (00:43 +0200)
Fixes: left shift of negative value -121
Fixes: 23911/clusterfuzz-testcase-minimized-ffmpeg_AV_CODEC_ID_PGX_fuzzer-4986800258154496
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/pgxdec.c

index a72d6fe6fe57a02098059c5295dbe8b105aabc25..150f8bbf66b479beb436f2963855b950f13f6165 100644 (file)
@@ -102,7 +102,7 @@ error:
         for (i = 0; i < height; i++) {                                                      \
             PIXEL *line = (PIXEL*)frame->data[0] + i*frame->linesize[0]/sizeof(PIXEL);      \
             for (j = 0; j < width; j++) {                                                   \
-                int val;                                                                    \
+                unsigned val;                                                               \
                 if (sign)                                                                   \
                     val = (PIXEL)bytestream2_get_ ##suffix(g) + (1 << (depth - 1));         \
                 else                                                                        \