[FFmpeg-cvslog] avcodec/cook: fix deadlock by using get_unary()

Paul B Mahol git at videolan.org
Wed Oct 30 14:29:03 CET 2013


ffmpeg | branch: master | Paul B Mahol <onemda at gmail.com> | Wed Oct 30 13:24:45 2013 +0000| [65988b991659fea72365be53e17d10953c0f8f78] | committer: Paul B Mahol

avcodec/cook: fix deadlock by using get_unary()

Fixes #3089.
Reported-by: Piotr Bandurski <ami_stuff at o2.pl>
Signed-off-by: Paul B Mahol <onemda at gmail.com>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=65988b991659fea72365be53e17d10953c0f8f78
---

 libavcodec/cook.c |    7 ++-----
 1 file changed, 2 insertions(+), 5 deletions(-)

diff --git a/libavcodec/cook.c b/libavcodec/cook.c
index 5b9f34a..402093c 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--) {



More information about the ffmpeg-cvslog mailing list