OSDN Git Service

avcodec/mlpdec: Fix runtime error: left shift of negative value -22
authorMichael Niedermayer <michael@niedermayer.cc>
Sat, 6 May 2017 10:05:17 +0000 (12:05 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Sat, 6 May 2017 10:08:14 +0000 (12:08 +0200)
Fixes: 1355/clusterfuzz-testcase-minimized-6662205472768000

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

index c93b058..7cad5d1 100644 (file)
@@ -264,7 +264,7 @@ static inline int read_huff_channels(MLPDecodeContext *m, GetBitContext *gbp,
             result = (result << lsb_bits) + get_bits(gbp, lsb_bits);
 
         result  += cp->sign_huff_offset;
-        result <<= quant_step_size;
+        result *= 1 << quant_step_size;
 
         m->sample_buffer[pos + s->blockpos][channel] = result;
     }