diff options
author | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2015-11-19 14:11:45 +0000 |
---|---|---|
committer | Derek Buitenhuis <derek.buitenhuis@gmail.com> | 2015-11-19 14:11:45 +0000 |
commit | f7c3ec3a01e4947397e6860bfbd8a91b040bd0b8 (patch) | |
tree | f7f3902b41e54b21e1a5e86952f317ed0333741c | |
parent | 218f46fc99dd88664af8d759de07023d6af01e90 (diff) | |
parent | b5f963bfec1f452c37eee900c7b11f065d10dd60 (diff) | |
download | ffmpeg-f7c3ec3a01e4947397e6860bfbd8a91b040bd0b8.tar.gz |
Merge commit 'b5f963bfec1f452c37eee900c7b11f065d10dd60'
* commit 'b5f963bfec1f452c37eee900c7b11f065d10dd60':
mov: Drop dref when unable to parse
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
-rw-r--r-- | libavformat/mov.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index b99cf731f3..8493de954c 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -518,7 +518,7 @@ static int mov_read_dref(MOVContext *c, AVIOContext *pb, MOVAtom atom) return AVERROR(ENOMEM); sc->drefs_count = entries; - for (i = 0; i < sc->drefs_count; i++) { + for (i = 0; i < entries; i++) { MOVDref *dref = &sc->drefs[i]; uint32_t size = avio_rb32(pb); int64_t next = avio_tell(pb) + size - 4; @@ -613,6 +613,11 @@ static int mov_read_dref(MOVContext *c, AVIOContext *pb, MOVAtom atom) } else avio_skip(pb, len); } + } else { + av_log(c->fc, AV_LOG_DEBUG, "Unknown dref type 0x08%x size %d\n", + dref->type, size); + entries--; + i--; } avio_seek(pb, next, SEEK_SET); } |