qdm2: increase noise_table size

This prevents out of array reads. An alternative solution would be
to check the index but this would require several checks in the
inner loops

Yet another alternative would be to change the index reset logic
but this likely would introduce a difference to the binary decoder

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
(cherry picked from commit 8c4aebb58d)

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-01-28 19:34:55 +01:00
parent 5af2fd317d
commit 17966ae5bb

View File

@ -37,7 +37,7 @@
#include "libavcodec/qdm2_tables.h" #include "libavcodec/qdm2_tables.h"
#else #else
static uint16_t softclip_table[HARDCLIP_THRESHOLD - SOFTCLIP_THRESHOLD + 1]; static uint16_t softclip_table[HARDCLIP_THRESHOLD - SOFTCLIP_THRESHOLD + 1];
static float noise_table[4096]; static float noise_table[4096 + 20];
static uint8_t random_dequant_index[256][5]; static uint8_t random_dequant_index[256][5];
static uint8_t random_dequant_type24[128][3]; static uint8_t random_dequant_type24[128][3];
static float noise_samples[128]; static float noise_samples[128];