avcodec/cook: fix deadlock by using get_unary()

Fixes #3089.
Reported-by: Piotr Bandurski <ami_stuff@o2.pl>
Signed-off-by: Paul B Mahol <onemda@gmail.com>
pull/45/head
Paul B Mahol 11 years ago
parent 387e76f993
commit 65988b9916
  1. 7
      libavcodec/cook.c

@ -51,6 +51,7 @@
#include "fft.h"
#include "internal.h"
#include "sinewin.h"
#include "unary.h"
#include "cookdata.h"
@ -331,11 +332,7 @@ static void decode_gain_info(GetBitContext *gb, int *gaininfo)
{
int i, n;
while (get_bits1(gb)) {
/* NOTHING */
}
n = get_bits_count(gb) - 1; // amount of elements*2 to update
n = get_unary(gb, 0, get_bits_left(gb)); // amount of elements*2 to update
i = 0;
while (n--) {

Loading…
Cancel
Save