avcodec/lagarith: Fix runtime error: left shift of 1 by 31 places cannot be represent...
authorMichael Niedermayer <michael@niedermayer.cc>
Tue, 23 May 2017 12:34:00 +0000 (14:34 +0200)
committerMichael Niedermayer <michael@niedermayer.cc>
Tue, 23 May 2017 14:11:27 +0000 (16:11 +0200)
Fixes: 1764/clusterfuzz-testcase-minimized-5394243164045312

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

index 1f4afc5..8603817 100644 (file)
@@ -91,7 +91,7 @@ static uint32_t softfloat_mul(uint32_t x, uint64_t mantissa)
     uint64_t h = x * (mantissa >> 32);
     h += l >> 32;
     l &= 0xffffffff;
-    l += 1 << av_log2(h >> 21);
+    l += 1LL << av_log2(h >> 21);
     h += l >> 32;
     return h >> 20;
 }