wma: initialize prev_block_len_bits, next_block_len_bits, and block_len_bits.
authorJustin Ruggles <justin.ruggles@gmail.com>
Tue, 22 Nov 2011 18:37:52 +0000 (13:37 -0500)
committerReinhard Tartler <siretart@tauware.de>
Fri, 23 Dec 2011 21:27:02 +0000 (22:27 +0100)
The initial values are not checked against the number of block sizes.
Initializing them to frame_len_bits will result in a block size index of 0
in these cases instead of something that might be out-of-range.

Fixes Bug 81.
(cherry picked from commit 05d1e45d1f42cc90d1f2f36c546d0096cea126a8)

Signed-off-by: Reinhard Tartler <siretart@tauware.de>
libavcodec/wma.c

index bed47ec..4cdffcd 100644 (file)
@@ -137,6 +137,9 @@ int ff_wma_init(AVCodecContext *avctx, int flags2)
 
     /* compute MDCT block size */
     s->frame_len_bits = ff_wma_get_frame_len_bits(s->sample_rate, s->version, 0);
+    s->next_block_len_bits = s->frame_len_bits;
+    s->prev_block_len_bits = s->frame_len_bits;
+    s->block_len_bits      = s->frame_len_bits;
 
     s->frame_len = 1 << s->frame_len_bits;
     if (s->use_variable_block_len) {