bink: Check for out of bound writes when building tree
authorLaurent Aimar <fenrir@videolan.org>
Tue, 27 Sep 2011 12:16:41 +0000 (12:16 +0000)
committerJanne Grunau <janne-libav@jannau.net>
Sat, 8 Oct 2011 14:25:56 +0000 (16:25 +0200)
Signed-off-by: Janne Grunau <janne-libav@jannau.net>
libavcodec/bink.c

index e4fdf4c..8a8a912 100644 (file)
@@ -247,7 +247,7 @@ static void read_tree(GetBitContext *gb, Tree *tree)
             tree->syms[i] = get_bits(gb, 4);
             tmp1[tree->syms[i]] = 1;
         }
-        for (i = 0; i < 16; i++)
+        for (i = 0; i < 16 && len < 16 - 1; i++)
             if (!tmp1[i])
                 tree->syms[++len] = i;
     } else {