Commit a2550e7d authored by Michael Niedermayer's avatar Michael Niedermayer

avcodec/iff: Check that there are enough bytes in dgb before reading

Fixes CID1361959
Signed-off-by: 's avatarMichael Niedermayer <michael@niedermayer.cc>
parent 9585c509
......@@ -1388,6 +1388,8 @@ static void decode_delta_l(uint8_t *dst,
offset = ((2 * offset) / planepitch_byte) * pitch + ((2 * offset) % planepitch_byte) + k * planepitch;
if (cnt < 0) {
if (bytestream2_get_bytes_left(&dgb) < 2)
break;
bytestream2_seek_p(&pb, offset, SEEK_SET);
cnt = -cnt;
data = bytestream2_get_be16(&dgb);
......@@ -1396,6 +1398,8 @@ static void decode_delta_l(uint8_t *dst,
bytestream2_skip_p(&pb, dstpitch - 2);
}
} else {
if (bytestream2_get_bytes_left(&dgb) < 2*cnt)
break;
bytestream2_seek_p(&pb, offset, SEEK_SET);
for (i = 0; i < cnt; i++) {
data = bytestream2_get_be16(&dgb);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment