summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Niedermayer <michaelni@gmx.at>2007-03-10 19:30:59 +0000
committerMichael Niedermayer <michaelni@gmx.at>2007-03-10 19:30:59 +0000
commit755c18ae5d19f940dfd05d8278637635fd8eece5 (patch)
tree4ca5758cf84cdd907bfe53ff58a2e6b0ea166864
parent1017fafb202b0422f8b7ac0404d00ed6d1e8dba5 (diff)
fix demuxing of broken MVI_3011.avi
Originally committed as revision 8317 to svn://svn.ffmpeg.org/ffmpeg/trunk
-rw-r--r--libavformat/avidec.c7
1 files changed, 7 insertions, 0 deletions
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);