From de6dfa2bb82df916a67e5036b0ef96a944781ed3 Mon Sep 17 00:00:00 2001 From: Anton Khirnov Date: Thu, 14 Feb 2013 08:47:17 +0100 Subject: [PATCH] lagarith: avoid infinite loop in lag_rac_refill() range == 0 happens with corrupted files CC:libav-stable@libav.org --- libavcodec/lagarithrac.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/libavcodec/lagarithrac.h b/libavcodec/lagarithrac.h index aa36d38f85..e4f066e445 100644 --- a/libavcodec/lagarithrac.h +++ b/libavcodec/lagarithrac.h @@ -107,6 +107,9 @@ static inline uint8_t lag_get_rac(lag_rac *l) l->range -= range_scaled * l->prob[255]; } + if (!l->range) + l->range = 0x80; + l->low -= range_scaled * l->prob[val]; return val;