From 8617bc6ffaa80916bca42a2fa621ab29c82e9e0b Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Wed, 11 Mar 2015 16:47:13 +0100 Subject: [PATCH] avcodec/golomb: Fix undefined shifts in unsigned rice decoding code Found-by: Clang -fsanitize=shift Reported-by: Thierry Foucu Signed-off-by: Michael Niedermayer --- libavcodec/golomb.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h index b9b29e7e66..28ae2133dc 100644 --- a/libavcodec/golomb.h +++ b/libavcodec/golomb.h @@ -281,7 +281,7 @@ static inline int get_ur_golomb(GetBitContext *gb, int k, int limit, if (log > 31 - limit) { buf >>= log - k; - buf += (30 - log) << k; + buf += (30U - log) << k; LAST_SKIP_BITS(re, gb, 32 + k - log); CLOSE_READER(re, gb); @@ -317,7 +317,7 @@ static inline int get_ur_golomb_jpegls(GetBitContext *gb, int k, int limit, if (log - k >= 32 - MIN_CACHE_BITS + (MIN_CACHE_BITS == 32) && 32 - log < limit) { buf >>= log - k; - buf += (30 - log) << k; + buf += (30U - log) << k; LAST_SKIP_BITS(re, gb, 32 + k - log); CLOSE_READER(re, gb);