From 65988b991659fea72365be53e17d10953c0f8f78 Mon Sep 17 00:00:00 2001 From: Paul B Mahol Date: Wed, 30 Oct 2013 13:24:45 +0000 Subject: [PATCH] avcodec/cook: fix deadlock by using get_unary() Fixes #3089. Reported-by: Piotr Bandurski Signed-off-by: Paul B Mahol --- libavcodec/cook.c | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/libavcodec/cook.c b/libavcodec/cook.c index 5b9f34a73e..402093c425 100644 --- a/libavcodec/cook.c +++ b/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--) {