avcodec/mdec: Fix runtime error: left shift of negative value -127
authorMichael Niedermayer <michael@niedermayer.cc>
Thu, 27 Apr 2017 00:27:16 +0000 (02:27 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Thu, 27 Apr 2017 02:25:31 +0000 (04:25 +0200)
Fixes undefined behavior
Fixes: 1275/clusterfuzz-testcase-minimized-6718162017976320

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

index 1cc4ca4..42bd561 100644 (file)
@@ -73,7 +73,7 @@ static inline int mdec_decode_block_intra(MDECContext *a, int16_t *block, int n)
         if (diff >= 0xffff)
             return AVERROR_INVALIDDATA;
         a->last_dc[component] += diff;
-        block[0] = a->last_dc[component] << 3;
+        block[0] = a->last_dc[component] * (1 << 3);
     }
 
     i = 0;