bink: Bound check the quantization matrix.
authorLuca Barbato <lu_zero@gentoo.org>
Sun, 4 Aug 2013 16:48:20 +0000 (18:48 +0200)
committerLuca Barbato <lu_zero@gentoo.org>
Sat, 24 Aug 2013 14:14:22 +0000 (16:14 +0200)
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
(cherry picked from commit 9991298f2c4d9022ad56057f15d037e18d454157)
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
libavcodec/bink.c

index 059601d..c637f4e 100644 (file)
@@ -677,6 +677,9 @@ static int read_dct_coeffs(GetBitContext *gb, int32_t block[64], const uint8_t *
         quant_idx = q;
     }
 
+    if (quant_idx >= 16)
+        return AVERROR_INVALIDDATA;
+
     quant = quant_matrices[quant_idx];
 
     block[0] = (block[0] * quant[0]) >> 11;