diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2023-09-30 11:46:18 +0200 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2023-10-07 18:47:32 +0200 |
commit | 2c031ed0963cfb3a37ba6c5d4b64d9bbc4250832 (patch) | |
tree | 552b2856a15fbba41ad2d57587b3da4de25958da | |
parent | c455a7946c1238093c78fad12bcf7110db086465 (diff) | |
download | nihav-2c031ed0963cfb3a37ba6c5d4b64d9bbc4250832.tar.gz |
smacker: add forgotten recursion depth check
-rw-r--r-- | nihav-rad/src/codecs/smacker.rs | 1 |
1 files changed, 1 insertions, 0 deletions
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<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)?; |