From: Kostya Shishkov Date: Sat, 30 Sep 2023 09:46:18 +0000 (+0200) Subject: smacker: add forgotten recursion depth check X-Git-Url: https://git.nihav.org/?p=nihav.git;a=commitdiff_plain;h=2c031ed0963cfb3a37ba6c5d4b64d9bbc4250832 smacker: add forgotten recursion depth check --- diff --git a/nihav-rad/src/codecs/smacker.rs b/nihav-rad/src/codecs/smacker.rs index d834c7e..7ecd443 100644 --- a/nihav-rad/src/codecs/smacker.rs +++ b/nihav-rad/src/codecs/smacker.rs @@ -94,6 +94,7 @@ const SMK_LAST_UNINIT: usize = 0xFFFFFFFF; impl SmackerTree16Builder { fn get_tree16(&mut self, br: &mut BitReader, tree: &mut SmackerTree16, depth: usize) -> DecoderResult { validate!(tree.tree.len() < self.nsyms); + validate!(depth <= 32); if !br.read_bool()? { let lo = br.read_tree8(&self.tree_lo)?; let hi = br.read_tree8(&self.tree_hi)?;