diff options
author | Kostya Shishkov <kostya.shishkov@gmail.com> | 2021-08-10 12:54:57 +0200 |
---|---|---|
committer | Kostya Shishkov <kostya.shishkov@gmail.com> | 2021-08-10 12:54:57 +0200 |
commit | 440a87948e66c392ff9d664964ea6f6953959dc6 (patch) | |
tree | 793f8ea1570bd077208ebc988efcce52a0039d76 /nihav-qt/src | |
parent | 6617c7576ec351996033c436c15f64ae2086ff1e (diff) | |
download | nihav-440a87948e66c392ff9d664964ea6f6953959dc6.tar.gz |
smc: fix repeat-two-blocks case
Diffstat (limited to 'nihav-qt/src')
-rw-r--r-- | nihav-qt/src/codecs/smc.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/nihav-qt/src/codecs/smc.rs b/nihav-qt/src/codecs/smc.rs index 401b3c4..5364b08 100644 --- a/nihav-qt/src/codecs/smc.rs +++ b/nihav-qt/src/codecs/smc.rs @@ -119,7 +119,8 @@ impl NADecoder for SmcDecoder { llblock = lblock; }, 2 => { - for i in 0..len { + validate!(blockpos + len * 2 <= nblocks); + for i in 0..len*2 { if (i & 1) == 0 { Self::put_block(&mut frm.data[doff + x..], stride, &llblock); } else { @@ -131,6 +132,7 @@ impl NADecoder for SmcDecoder { doff += stride * 4; } } + blockpos += len; }, 3 => { let clr = br.read_byte()?; |