From 8a5f43bdf9cab44cf6d5fd34e4d388a160da2075 Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Sat, 12 Sep 2026 15:55:21 +0200 Subject: [PATCH] mov: ignore short zero padding at the end of codec descriptor --- nihav-commonfmt/src/demuxers/mov/track.rs | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/nihav-commonfmt/src/demuxers/mov/track.rs b/nihav-commonfmt/src/demuxers/mov/track.rs index ce25fef..957f805 100644 --- a/nihav-commonfmt/src/demuxers/mov/track.rs +++ b/nihav-commonfmt/src/demuxers/mov/track.rs @@ -431,10 +431,15 @@ fn read_stsd(track: &mut Track, br: &mut dyn ByteIO, size: u64) -> DemuxerResult } let edata = if br.tell() < end_pos { let edata_size = br.read_u32be()? as usize; - validate!(edata_size >= 4); - let mut buf = vec![0; edata_size - 4]; - br.read_buf(buf.as_mut_slice())?; - Some(buf) + let left = (end_pos - br.tell()) as usize; + if edata_size > 0 || left > 8 { + validate!(edata_size >= 4); + let mut buf = vec![0; edata_size - 4]; + br.read_buf(buf.as_mut_slice())?; + Some(buf) + } else { + None + } } else { None }; -- 2.39.5