aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2017-06-28 12:46:27 +0200
committerKostya Shishkov <kostya.shishkov@gmail.com>2017-06-28 12:46:27 +0200
commit70fc42e8e6404f647d029060ee7d9016fd9f9bb8 (patch)
treee6e656aa5f96494a58d8c51de7be248eb4febcfb
parentd699da6e1340740b3224dd7395ba381b639acb4e (diff)
downloadnihav-70fc42e8e6404f647d029060ee7d9016fd9f9bb8.tar.gz
avi: skip LISTs inside movi data
-rw-r--r--src/demuxers/avi.rs6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/demuxers/avi.rs b/src/demuxers/avi.rs
index 3810bc8..4be5217 100644
--- a/src/demuxers/avi.rs
+++ b/src/demuxers/avi.rs
@@ -90,6 +90,12 @@ impl<'a> Demux<'a> for AVIDemuxer<'a> {
self.src.read_skip(size)?;
continue;
}
+ if mktag!(tag) == mktag!(b"LIST") {
+ self.movi_size -= 12;
+ self.src.read_skip(4)?;
+ if self.movi_size == 0 { return Err(EOF); }
+ continue;
+ }
if tag[0] < b'0' || tag[0] > b'9' || tag[1] < b'0' || tag[1] > b'9' {
return Err(InvalidData);
}