avcodec/wavpack: Fix runtime error: shift exponent 137 is too large for 32-bit type...
authorMichael Niedermayer <michael@niedermayer.cc>
Sun, 12 Mar 2017 22:45:54 +0000 (23:45 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 14 Mar 2017 01:23:50 +0000 (02:23 +0100)
Fixes: 808/clusterfuzz-testcase-4715513349406720

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

index 445d593..c949390 100644 (file)
@@ -171,7 +171,7 @@ static av_always_inline int wp_exp2(int16_t val)
 
     res   = wp_exp2_table[val & 0xFF] | 0x100;
     val >>= 8;
-    if (val > 31)
+    if (val > 31U)
         return INT_MIN;
     res   = (val > 9) ? (res << (val - 9)) : (res >> (9 - val));
     return neg ? -res : res;