Merge commit 'fc739b3eefa0b58d64e7661621da94a94dbc8a82'
authorMichael Niedermayer <michaelni@gmx.at>
Sun, 29 Sep 2013 23:21:30 +0000 (01:21 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Sun, 29 Sep 2013 23:21:30 +0000 (01:21 +0200)
* commit 'fc739b3eefa0b58d64e7661621da94a94dbc8a82':
  xan: Only read within the data that actually was initialized

Conflicts:
libavcodec/xan.c

Merged-by: Michael Niedermayer <michaelni@gmx.at>
1  2 
libavcodec/xan.c

@@@ -101,15 -94,16 +101,16 @@@ static av_cold int xan_decode_init(AVCo
      return 0;
  }
  
 -static int xan_huffman_decode(unsigned char *dest, int dest_len,
 -                              const unsigned char *src, int src_len)
 +static int xan_huffman_decode(uint8_t *dest, int dest_len,
 +                              const uint8_t *src, int src_len)
  {
 -    unsigned char byte = *src++;
 -    unsigned char ival = byte + 0x16;
 -    const unsigned char * ptr = src + byte*2;
 +    uint8_t byte = *src++;
 +    uint8_t ival = byte + 0x16;
 +    const uint8_t * ptr = src + byte*2;
      int ptr_len = src_len - 1 - byte*2;
 -    unsigned char val = ival;
 -    unsigned char *dest_end = dest + dest_len;
 -    unsigned char *dest_start = dest;
 +    uint8_t val = ival;
 +    uint8_t *dest_end = dest + dest_len;
++    uint8_t *dest_start = dest;
      GetBitContext gb;
  
      if (ptr_len < 0)
@@@ -287,22 -275,22 +288,22 @@@ static int xan_wc3_decode_frame(XanCont
      int width  = s->avctx->width;
      int height = s->avctx->height;
      int total_pixels = width * height;
 -    unsigned char opcode;
 -    unsigned char flag = 0;
 +    uint8_t opcode;
 +    uint8_t flag = 0;
      int size = 0;
      int motion_x, motion_y;
-     int x, y;
+     int x, y, ret;
  
 -    unsigned char *opcode_buffer = s->buffer1;
 -    unsigned char *opcode_buffer_end = s->buffer1 + s->buffer1_size;
 +    uint8_t *opcode_buffer = s->buffer1;
 +    uint8_t *opcode_buffer_end = s->buffer1 + s->buffer1_size;
      int opcode_buffer_size = s->buffer1_size;
 -    const unsigned char *imagedata_buffer = s->buffer2;
 +    const uint8_t *imagedata_buffer = s->buffer2;
  
      /* pointers to segments inside the compressed chunk */
 -    const unsigned char *huffman_segment;
 +    const uint8_t *huffman_segment;
      GetByteContext       size_segment;
      GetByteContext       vector_segment;
 -    const unsigned char *imagedata_segment;
 +    const uint8_t *imagedata_segment;
      int huffman_offset, size_offset, vector_offset, imagedata_offset,
          imagedata_size;