aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLaurent Aimar <fenrir@videolan.org>2011-10-01 00:45:04 +0200
committerReinhard Tartler <siretart@tauware.de>2011-12-04 08:55:55 +0100
commit0d93d5c4614fafea74bdac681673f5b32eb49063 (patch)
tree806ca628e05c39efbffb4754806296b603bb0e44
parenta31ccacb1a9b2abc0e140a812fb0ffca6f7c2591 (diff)
downloadffmpeg-0d93d5c4614fafea74bdac681673f5b32eb49063.tar.gz
Fix out of bound reads in the QDM2 decoder.
Signed-off-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: Justin Ruggles <justin.ruggles@gmail.com> (cherry picked from commit 5a19acb17ceb71657b0eec51dac651953520e5c8) Signed-off-by: Reinhard Tartler <siretart@tauware.de>
-rw-r--r--libavcodec/qdm2.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c
index eeb7fa3528..d1619ef131 100644
--- a/libavcodec/qdm2.c
+++ b/libavcodec/qdm2.c
@@ -1354,6 +1354,8 @@ static void qdm2_fft_decode_tones (QDM2Context *q, int duration, GetBitContext *
return;
local_int_14 = (offset >> local_int_8);
+ if (local_int_14 >= FF_ARRAY_ELEMS(fft_level_index_table))
+ return;
if (q->nb_channels > 1) {
channel = get_bits1(gb);