aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKostya Shishkov <kostya.shishkov@gmail.com>2021-08-10 12:54:57 +0200
committerKostya Shishkov <kostya.shishkov@gmail.com>2021-08-10 12:54:57 +0200
commit440a87948e66c392ff9d664964ea6f6953959dc6 (patch)
tree793f8ea1570bd077208ebc988efcce52a0039d76
parent6617c7576ec351996033c436c15f64ae2086ff1e (diff)
downloadnihav-440a87948e66c392ff9d664964ea6f6953959dc6.tar.gz
smc: fix repeat-two-blocks case
-rw-r--r--nihav-qt/src/codecs/smc.rs4
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()?;