git.videolan.org
/
ffmpeg.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
fix demuxing of broken MVI_3011.avi
[ffmpeg.git]
/
libavformat
/
avidec.c
diff --git
a/libavformat/avidec.c
b/libavformat/avidec.c
index
83674f4
..
23c130a
100644
(file)
--- 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:
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);
/* skip tag */
size += (size & 1);
url_fskip(pb, size);