smacker: add forgotten recursion depth check
[nihav.git] / nihav-rad / src / codecs / smacker.rs
index d834c7eea40ff17457f2c1dda64e1e26d3282824..7ecd4436b074063c67acd37cc0a98bc7ed6aff90 100644 (file)
@@ -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<u32> {
         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)?;