mirror of
https://git.ffmpeg.org/ffmpeg.git
synced 2024-12-13 02:34:54 +00:00
wmalossless: Fix infinite loop.
Fixes more of Ticket1000 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
parent
886b40b94a
commit
f4f386dd00
@ -713,8 +713,11 @@ static int decode_channel_residues(WmallDecodeCtx *s, int ch, int tile_size)
|
|||||||
//av_log(0, 0, "%8d: ", num_logged_tiles++);
|
//av_log(0, 0, "%8d: ", num_logged_tiles++);
|
||||||
for(; i < tile_size; i++) {
|
for(; i < tile_size; i++) {
|
||||||
int quo = 0, rem, rem_bits, residue;
|
int quo = 0, rem, rem_bits, residue;
|
||||||
while(get_bits1(&s->gb))
|
while(get_bits1(&s->gb)) {
|
||||||
quo++;
|
quo++;
|
||||||
|
if (get_bits_left(&s->gb) <= 0)
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
if(quo >= 32)
|
if(quo >= 32)
|
||||||
quo += get_bits_long(&s->gb, get_bits(&s->gb, 5) + 1);
|
quo += get_bits_long(&s->gb, get_bits(&s->gb, 5) + 1);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user