avcodec/dcadsp: Fix runtime error: signed integer overflow: 394625024 * 8 cannot...
authorMichael Niedermayer <michael@niedermayer.cc>
Wed, 22 Feb 2017 00:11:11 +0000 (01:11 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Wed, 22 Feb 2017 01:42:48 +0000 (02:42 +0100)
Fixes: 643/clusterfuzz-testcase-5209078743695360

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

index 1cd2e4e..3d637f6 100644 (file)
@@ -300,7 +300,7 @@ static void decor_c(int32_t *dst, const int32_t *src, int coeff, ptrdiff_t len)
     int i;
 
     for (i = 0; i < len; i++)
-        dst[i] += src[i] * coeff + (1 << 2) >> 3;
+        dst[i] += (int)(src[i] * (SUINT)coeff + (1 << 2)) >> 3;
 }
 
 static void dmix_sub_xch_c(int32_t *dst1, int32_t *dst2,