From 6178d8fd4496fc6336237e523920c3f735b30b4b Mon Sep 17 00:00:00 2001 From: Kostya Shishkov Date: Wed, 16 Sep 2026 16:30:43 +0200 Subject: [PATCH] mov: fix read_palette() reporting wrong read amount --- nihav-commonfmt/src/demuxers/mov/mod.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/nihav-commonfmt/src/demuxers/mov/mod.rs b/nihav-commonfmt/src/demuxers/mov/mod.rs index b83993c..ad5c68b 100644 --- a/nihav-commonfmt/src/demuxers/mov/mod.rs +++ b/nihav-commonfmt/src/demuxers/mov/mod.rs @@ -55,7 +55,8 @@ fn read_palette(br: &mut dyn ByteIO, size: u64, pal: &mut [u8; 1024]) -> Demuxer let palsize = (br.read_u16be()? as usize) + 1; validate!(palsize <= 256); validate!(flags == 0 || flags == 0x4000 || flags == 0x8000); - validate!((palsize as u64) * 8 + 8 <= size); + let mut read_size = (palsize as u64) * 8 + 8; + validate!(read_size <= size); for i in 0..palsize { let a = br.read_u16be()?; let r = br.read_u16be()?; @@ -70,8 +71,9 @@ fn read_palette(br: &mut dyn ByteIO, size: u64, pal: &mut [u8; 1024]) -> Demuxer } if flags == 0x4000 { br.read_skip(8)?; + read_size += 8; } - Ok(size) + Ok(read_size) } struct RootChunkHandler { -- 2.39.5