OSDN Git Service

avcodec/wmaprodec: Fix overflow of cutoff
authorMichael Niedermayer <michael@niedermayer.cc>
Sat, 5 Dec 2015 12:11:23 +0000 (13:11 +0100)
committerMichael Niedermayer <michael@niedermayer.cc>
Sat, 5 Dec 2015 12:20:03 +0000 (13:20 +0100)
Fixes: 129ca3e28d73af7b1e24a9d4118e7a2d/signal_sigabrt_7ffff6ae7cc9_836_762b310fc3ef6087bd7771e5d8e90b9b.asf

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
libavcodec/wmaprodec.c

index 4224785..5396733 100644 (file)
@@ -528,7 +528,7 @@ static av_cold int decode_init(AVCodecContext *avctx)
     /** calculate subwoofer cutoff values */
     for (i = 0; i < num_possible_block_sizes; i++) {
         int block_size = s->samples_per_frame >> i;
-        int cutoff = (440*block_size + 3 * (s->avctx->sample_rate >> 1) - 1)
+        int cutoff = (440*block_size + 3LL * (s->avctx->sample_rate >> 1) - 1)
                      / s->avctx->sample_rate;
         s->subwoofer_cutoffs[i] = av_clip(cutoff, 4, block_size);
     }