X-Git-Url: https://git.videolan.org/?p=ffmpeg.git;a=blobdiff_plain;f=libavformat%2Favidec.c;h=23c130ab7e6b7009fddb78f1c0d920d14e4aed79;hp=83674f4cd4a7e293dc5f08f0d51977ead80d179b;hb=755c18ae5d19f940dfd05d8278637635fd8eece5;hpb=1017fafb202b0422f8b7ac0404d00ed6d1e8dba5;ds=sidebyside diff --git a/libavformat/avidec.c b/libavformat/avidec.c index 83674f4cd4..23c130ab7e 100644 --- a/libavformat/avidec.c +++ b/libavformat/avidec.c @@ -503,6 +503,13 @@ static int avi_read_header(AVFormatContext *s, AVFormatParameters *ap) sscanf(str_track, "%d", &s->track); break; default: + if(size > 1000000){ + av_log(s, AV_LOG_ERROR, "well something went wrong during header parsing, " + "ill ignore it and try to continue anyway\n"); + avi->movi_list = url_ftell(pb) - 4; + avi->movi_end = url_fsize(pb); + goto end_of_header; + } /* skip tag */ size += (size & 1); url_fskip(pb, size);