diff --git a/libavcodec/takdec.c b/libavcodec/takdec.c index 87fcf832baa378df599e6889a5a4b46579207f4e..0ac870cc6cc1c906a4a52ec374304b55f52f3046 100644 --- a/libavcodec/takdec.c +++ b/libavcodec/takdec.c @@ -420,11 +420,13 @@ static void decode_filter_coeffs(TAKDecContext *s, int filter_order, int size, static int decode_subframe(TAKDecContext *s, int32_t *decoded, int subframe_size, int prev_subframe_size) { - LOCAL_ALIGNED_16(int16_t, filter, [MAX_PREDICTORS]) = { 0, }; + LOCAL_ALIGNED_16(int16_t, filter, [MAX_PREDICTORS]); GetBitContext *gb = &s->gb; int i, ret; int dshift, size, filter_quant, filter_order; + memset(filter, 0, MAX_PREDICTORS * sizeof(*filter)); + if (!get_bits1(gb)) return decode_residues(s, decoded, subframe_size);