X-Git-Url: https://git.nihav.org/?p=nihav.git;a=blobdiff_plain;f=nihav-commonfmt%2Fsrc%2Fdemuxers%2Fmov.rs;h=19a602ffc88e53f7788c509c661edb2566b6630c;hp=24431f9a7416e0a9fae179fd7256f005c942167b;hb=d341f57a0caf409d7dcc258b396cdee2080be399;hpb=12cf91eafb8d48fc3d27153e119504163edbb6d8 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 {