Browse Source

avcodec/iff: check if there is enough bytes left

Signed-off-by: Paul B Mahol <onemda@gmail.com>
tags/n3.1
Paul B Mahol 9 years ago
parent
commit
8767470fb5
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      libavcodec/iff.c

+ 6
- 0
libavcodec/iff.c View File

@@ -850,6 +850,9 @@ static void decode_delta_j(uint8_t *dst,
for (g = 0; g < groups; g++) {
offset = bytestream2_get_be16(&gb);

if (bytestream2_get_bytes_left(&gb) < 1)
return;

if (kludge_j)
offset = ((offset / (320 / 8)) * pitch) + (offset % (320 / 8)) - kludge_j;
else
@@ -893,6 +896,9 @@ static void decode_delta_j(uint8_t *dst,
for (d = 0; d < bpp; d++) {
unsigned noffset = offset + (r * pitch) + d * planepitch;

if (bytestream2_get_bytes_left(&gb) < 1)
return;

for (b = 0; b < bytes; b++) {
uint8_t value = bytestream2_get_byte(&gb);



Loading…
Cancel
Save