[FFmpeg-cvslog] avcodec/asvdec: Check buf_size

Michael Niedermayer git at videolan.org
Tue May 23 05:06:13 EEST 2017


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Mon May 22 23:53:53 2017 +0200| [cfd1ecdc0bb039014fbb40b45edb88121bad92f9] | committer: Michael Niedermayer

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 <michael at niedermayer.cc>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=cfd1ecdc0bb039014fbb40b45edb88121bad92f9
---

 libavcodec/asvdec.c | 3 +++
 1 file changed, 3 insertions(+)

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;



More information about the ffmpeg-cvslog mailing list