Fix: check decode buffer end after the run opcode

This commit is contained in:
Ivan Smirnov 2021-12-01 17:13:50 +00:00
commit 0d612fd3c2
2 changed files with 6 additions and 5 deletions

View file

@ -58,15 +58,12 @@ where
let mut run = 0_u16;
for px_out in pixels.iter_mut() {
if unlikely(!buf.within_bounds()) {
break;
}
// TODO: check for safety that ReadBuf is not over yet
if run != 0 {
run -= 1;
*px_out = px;
continue;
} else if unlikely(!buf.within_bounds()) {
return Err(Error::UnexpectedBufferEnd);
}
let b1 = buf.read();