avcodec/wmaprodec: check that there are input bits left in decode_subframe_length()

Fixes infinite loop
Fixes Ticket2987

Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2013-09-25 20:10:24 +02:00
parent 45f0623ae3
commit c99d27287d
1 changed files with 3 additions and 0 deletions

View File

@ -500,6 +500,9 @@ static int decode_subframe_length(WMAProDecodeCtx *s, int offset)
if (offset == s->samples_per_frame - s->min_samples_per_subframe)
return s->min_samples_per_subframe;
if (get_bits_left(&s->gb) < 1)
return AVERROR_INVALIDDATA;
/** 1 bit indicates if the subframe is of maximum length */
if (s->max_subframe_len_bit) {
if (get_bits1(&s->gb))