Browse Source

xan: Check for out of bound reads in xan_huffman_decode()

Signed-off-by: Janne Grunau <janne-libav@jannau.net>
(cherry picked from commit 3db3fdf4c6)

Signed-off-by: Anton Khirnov <anton@khirnov.net>
tags/n0.8.11
Laurent Aimar Reinhard Tartler 14 years ago
parent
commit
49007b494e
1 changed files with 4 additions and 1 deletions
  1. +4
    -1
      libavcodec/xan.c

+ 4
- 1
libavcodec/xan.c View File

@@ -112,7 +112,10 @@ static int xan_huffman_decode(unsigned char *dest, int dest_len,
init_get_bits(&gb, ptr, ptr_len * 8);

while ( val != 0x16 ) {
val = src[val - 0x17 + get_bits1(&gb) * byte];
unsigned idx = val - 0x17 + get_bits1(&gb) * byte;
if (idx >= 2 * byte)
return -1;
val = src[idx];

if ( val < 0x16 ) {
if (dest >= dest_end)


Loading…
Cancel
Save