avcodec/dds: Fix runtime error: left shift of 210 by 24 places cannot be represented...
authorMichael Niedermayer <michael@niedermayer.cc>
Fri, 12 May 2017 23:35:56 +0000 (01:35 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Fri, 12 May 2017 23:40:43 +0000 (01:40 +0200)
Fixes: 1510/clusterfuzz-testcase-minimized-5826231746428928

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

index 468763e..bc11bdb 100644 (file)
@@ -718,7 +718,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;