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