Commit d4ee7678 authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/vp9block: fix runtime error: signed integer overflow: 196675 * 20670...

avcodec/vp9block: fix runtime error: signed integer overflow: 196675 * 20670 cannot be represented in type 'int'

Fixes: 1710/clusterfuzz-testcase-minimized-4837032931098624

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpegReviewed-by: 's avatar"Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent ec2b76aa
...@@ -915,9 +915,9 @@ skip_eob: ...@@ -915,9 +915,9 @@ skip_eob:
if (!--band_left) if (!--band_left)
band_left = band_counts[++band]; band_left = band_counts[++band];
if (is_tx32x32) if (is_tx32x32)
STORE_COEF(coef, rc, ((vp8_rac_get(c) ? -val : val) * qmul[!!i]) / 2); STORE_COEF(coef, rc, (int)((vp8_rac_get(c) ? -val : val) * (unsigned)qmul[!!i]) / 2);
else else
STORE_COEF(coef, rc, (vp8_rac_get(c) ? -val : val) * qmul[!!i]); STORE_COEF(coef, rc, (vp8_rac_get(c) ? -val : val) * (unsigned)qmul[!!i]);
nnz = (1 + cache[nb[i][0]] + cache[nb[i][1]]) >> 1; nnz = (1 + cache[nb[i][0]] + cache[nb[i][1]]) >> 1;
tp = p[band][nnz]; tp = p[band][nnz];
} while (++i < n_coeffs); } while (++i < n_coeffs);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment