[FFmpeg-cvslog] avcodec/golomb: Fix undefined shifts in unsigned rice decoding code
Michael Niedermayer
git at videolan.org
Wed Mar 11 16:54:53 CET 2015
ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Mar 11 16:47:13 2015 +0100| [8617bc6ffaa80916bca42a2fa621ab29c82e9e0b] | committer: Michael Niedermayer
avcodec/golomb: Fix undefined shifts in unsigned rice decoding code
Found-by: Clang -fsanitize=shift
Reported-by: Thierry Foucu <tfoucu at google.com>
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>
> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8617bc6ffaa80916bca42a2fa621ab29c82e9e0b
---
libavcodec/golomb.h | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h
index b9b29e7..28ae213 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);
More information about the ffmpeg-cvslog
mailing list