X-Git-Url: https://git.nihav.org/?a=blobdiff_plain;f=nihav-rad%2Fsrc%2Fcodecs%2Fsmacker.rs;h=7ecd4436b074063c67acd37cc0a98bc7ed6aff90;hb=b8ea95bcd62ebd2a6b58a889c0a2e0e35fa212d3;hp=d834c7eea40ff17457f2c1dda64e1e26d3282824;hpb=e6aaad5c5273cd814b5748b7faf3751835a37217;p=nihav.git 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)?;