From: Martin Storsjö Date: Thu, 19 Sep 2013 12:14:56 +0000 (+0300) Subject: asvdec: Verify the amount of extradata X-Git-Tag: n2.1~57^2~231 X-Git-Url: http://git.videolan.org/?p=ffmpeg.git;a=commitdiff_plain;h=f50803354c6acb4575379d7c54ca48ec5d36dd61 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@libav.org Signed-off-by: Martin Storsjö --- diff --git a/libavcodec/asvdec.c b/libavcodec/asvdec.c index 9f74abbbec..9ba2755717 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);