From: Kostya Shishkov <kostya.shishkov@gmail.com>
Date: Fri, 3 Jul 2020 15:30:27 +0000 (+0200)
Subject: mov: fix video extradata reading
X-Git-Url: https://git.nihav.org/?a=commitdiff_plain;h=d341f57a0caf409d7dcc258b396cdee2080be399;p=nihav.git

mov: fix video extradata reading
---

diff --git a/nihav-commonfmt/src/demuxers/mov.rs b/nihav-commonfmt/src/demuxers/mov.rs
index 24431f9..19a602f 100644
--- a/nihav-commonfmt/src/demuxers/mov.rs
+++ b/nihav-commonfmt/src/demuxers/mov.rs
@@ -554,7 +554,8 @@ fn read_stsd(track: &mut Track, br: &mut ByteReader, size: u64) -> DemuxerResult
             let edata = if br.tell() - start_pos + 4 < size {
 //todo skip various common atoms
                     let edata_size  = br.read_u32be()? as usize;
-                    let mut buf = vec![0; edata_size];
+                    validate!(edata_size >= 4);
+                    let mut buf = vec![0; edata_size - 4];
                                   br.read_buf(buf.as_mut_slice())?;
                     Some(buf)
                 } else {