Browse Source

xxan: fix invalid memory access in xan_decode_frame_type0()

The loop a few lines below the xan_unpack() call accesses up to
dec_size * 2 bytes into y_buffer, so dec_size must be limited to
buffer_size / 2.

CC:libav-stable@libav.org
tags/n2.0
Anton Khirnov 12 years ago
parent
commit
8a49d2bcbe
1 changed files with 1 additions and 1 deletions
  1. +1
    -1
      libavcodec/xxan.c

+ 1
- 1
libavcodec/xxan.c View File

@@ -308,7 +308,7 @@ static int xan_decode_frame_type0(AVCodecContext *avctx)
int dec_size;

bytestream2_seek(&s->gb, 8 + corr_off, SEEK_SET);
dec_size = xan_unpack(s, s->scratch_buffer, s->buffer_size);
dec_size = xan_unpack(s, s->scratch_buffer, s->buffer_size / 2);
if (dec_size < 0)
dec_size = 0;
for (i = 0; i < dec_size; i++)


Loading…
Cancel
Save