[FFmpeg-cvslog] asvdec: Verify the amount of extradata

Martin Storsjö git at videolan.org
Fri Sep 20 12:58:51 CEST 2013


ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Thu Sep 19 15:14:56 2013 +0300| [f50803354c6acb4575379d7c54ca48ec5d36dd61] | committer: Martin Storsjö

asvdec: Verify the amount of extradata

The init function reads one byte of extradata.

Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable at libav.org
Signed-off-by: Martin Storsjö <martin at martin.st>

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

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

diff --git a/libavcodec/asvdec.c b/libavcodec/asvdec.c
index 9f74abb..9ba2755 100644
--- a/libavcodec/asvdec.c
+++ b/libavcodec/asvdec.c
@@ -274,6 +274,11 @@ static av_cold int decode_init(AVCodecContext *avctx)
     const int scale       = avctx->codec_id == AV_CODEC_ID_ASV1 ? 1 : 2;
     int i;
 
+    if (avctx->extradata_size < 1) {
+        av_log(avctx, AV_LOG_ERROR, "No extradata provided\n");
+        return AVERROR_INVALIDDATA;
+    }
+
     ff_asv_common_init(avctx);
     init_vlcs(a);
     ff_init_scantable(a->dsp.idct_permutation, &a->scantable, ff_asv_scantab);



More information about the ffmpeg-cvslog mailing list