From: Michael Niedermayer Date: Tue, 9 May 2017 22:56:45 +0000 (+0200) Subject: avcodec/lagarith: Check scale_factor X-Git-Tag: n3.4~1635 X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff_plain;h=ed3c9b5b0dd5abb545c48e930e1c32c187b0776a avcodec/lagarith: Check scale_factor Fixes: 1425/clusterfuzz-testcase-minimized-6295712339853312 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg Signed-off-by: Michael Niedermayer --- diff --git a/libavcodec/lagarith.c b/libavcodec/lagarith.c index 044497720f..1f4afc5312 100644 --- a/libavcodec/lagarith.c +++ b/libavcodec/lagarith.c @@ -191,7 +191,9 @@ static int lag_read_prob_header(lag_rac *rac, GetBitContext *gb) } scale_factor++; - cumulative_target = 1 << scale_factor; + if (scale_factor >= 32U) + return AVERROR_INVALIDDATA; + cumulative_target = 1U << scale_factor; if (scaled_cumul_prob > cumulative_target) { av_log(rac->avctx, AV_LOG_ERROR,