From: Michael Niedermayer Date: Mon, 22 May 2017 21:53:53 +0000 (+0200) Subject: avcodec/asvdec: Check buf_size X-Git-Tag: n3.4~1427 X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff_plain;h=cfd1ecdc0bb039014fbb40b45edb88121bad92f9 avcodec/asvdec: Check buf_size Fixes Timeout Fixes: 1746/clusterfuzz-testcase-minimized-6687393392361472 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer --- diff --git a/libavcodec/asvdec.c b/libavcodec/asvdec.c index 603a09253b..467e2554ca 100644 --- a/libavcodec/asvdec.c +++ b/libavcodec/asvdec.c @@ -210,6 +210,9 @@ static int decode_frame(AVCodecContext *avctx, void *data, int *got_frame, AVFrame *const p = data; int mb_x, mb_y, ret; + if (buf_size * 8LL < a->mb_height2 * a->mb_width2 * 13LL) + return AVERROR_INVALIDDATA; + if ((ret = ff_get_buffer(avctx, p, 0)) < 0) return ret; p->pict_type = AV_PICTURE_TYPE_I;