[FFmpeg-cvslog] avcodec/dds: Fix runtime error: left shift of 145 by 24 places cannot be represented in type 'int'

Michael Niedermayer git at videolan.org
Fri Jun 2 03:11:37 EEST 2017


ffmpeg | branch: release/3.3 | Michael Niedermayer <michael at niedermayer.cc> | Mon May 29 13:51:08 2017 +0200| [d59e6cef7902a2c4672860f16a4322c7a2f86c36] | committer: Michael Niedermayer

avcodec/dds: Fix runtime error: left shift of 145 by 24 places cannot be represented in type 'int'

Fixes: 1891/clusterfuzz-testcase-minimized-6274417925554176

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit c49fa2a51452eeba0cf2c14ce999ddeadf69aa4f)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

 libavcodec/dds.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/dds.c b/libavcodec/dds.c
index bc11bdb0fa..f026f9cd5a 100644
--- a/libavcodec/dds.c
+++ b/libavcodec/dds.c
@@ -687,7 +687,7 @@ static int dds_decode(AVCodecContext *avctx, void *data,
                     (frame->data[1][2+i*4]<<0)+
                     (frame->data[1][1+i*4]<<8)+
                     (frame->data[1][0+i*4]<<16)+
-                    (frame->data[1][3+i*4]<<24)
+                    ((unsigned)frame->data[1][3+i*4]<<24)
             );
         }
         frame->palette_has_changed = 1;



More information about the ffmpeg-cvslog mailing list