avcodec/dds: Fix runtime error: left shift of 145 by 24 places cannot be represented...
authorMichael Niedermayer <michael@niedermayer.cc>
Mon, 29 May 2017 11:51:08 +0000 (13:51 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Mon, 29 May 2017 11:51:42 +0000 (13:51 +0200)
Fixes: 1891/clusterfuzz-testcase-minimized-6274417925554176

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/dds.c

index bc11bdb..f026f9c 100644 (file)
@@ -687,7 +687,7 @@ static int dds_decode(AVCodecContext *avctx, void *data,
                     (frame->data[1][2+i*4]<<0)+
                     (frame->data[1][1+i*4]<<8)+
                     (frame->data[1][0+i*4]<<16)+
-                    (frame->data[1][3+i*4]<<24)
+                    ((unsigned)frame->data[1][3+i*4]<<24)
             );
         }
         frame->palette_has_changed = 1;