diff options
author | Anton Khirnov <anton@khirnov.net> | 2013-04-09 15:25:20 +0200 |
---|---|---|
committer | Reinhard Tartler <siretart@tauware.de> | 2013-05-09 20:05:53 +0200 |
commit | 96481c5e1843dda64df1df22f3bc12e6b10505fd (patch) | |
tree | ec0e0b707bbfd4edceabe94d01337dce58d9dad3 /libavcodec/qdm2.c | |
parent | 9b052bfb8609f2279c33dc9aa9fb39d2e7a53ef2 (diff) | |
download | ffmpeg-96481c5e1843dda64df1df22f3bc12e6b10505fd.tar.gz |
qdm2: check that the FFT size is a power of 2
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC:libav-stable@libav.org
(cherry picked from commit 34f87a58532ed652a6e0283c1d044ee5df0aef0b)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
Diffstat (limited to 'libavcodec/qdm2.c')
-rw-r--r-- | libavcodec/qdm2.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/libavcodec/qdm2.c b/libavcodec/qdm2.c index 258a343837..87ace655e0 100644 --- a/libavcodec/qdm2.c +++ b/libavcodec/qdm2.c @@ -1878,6 +1878,10 @@ static av_cold int qdm2_decode_init(AVCodecContext *avctx) av_log(avctx, AV_LOG_ERROR, "Unknown FFT order (%d), contact the developers!\n", s->fft_order); return -1; } + if (s->fft_size != (1 << (s->fft_order - 1))) { + av_log(avctx, AV_LOG_ERROR, "FFT size %d not power of 2.\n", s->fft_size); + return AVERROR_INVALIDDATA; + } ff_rdft_init(&s->rdft_ctx, s->fft_order, IDFT_C2R); ff_mpadsp_init(&s->mpadsp); |