[FFmpeg-cvslog] avcodec/golomb: Fix runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

Michael Niedermayer git at videolan.org
Fri May 12 01:00:45 EEST 2017


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Thu May 11 21:42:45 2017 +0200| [2752410c47889a94778a541c09ed29ccce8a8de9] | committer: Michael Niedermayer

avcodec/golomb: Fix runtime error: left shift of 1 by 31 places cannot be represented in type 'int'

Fixes: 1481/clusterfuzz-testcase-minimized-5264379509473280

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/targets/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 libavcodec/golomb.h | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/golomb.h b/libavcodec/golomb.h
index 6911759c6b..0833aff468 100644
--- a/libavcodec/golomb.h
+++ b/libavcodec/golomb.h
@@ -352,7 +352,7 @@ static inline int get_ur_golomb_jpegls(GetBitContext *gb, int k, int limit,
                 buf = 0;
             }
 
-            buf += (i << k);
+            buf += ((SUINT)i << k);
         } else if (i == limit - 1) {
             buf = SHOW_UBITS(re, gb, esc_len);
             LAST_SKIP_BITS(re, gb, esc_len);



More information about the ffmpeg-cvslog mailing list