[FFmpeg-cvslog] avutil/common: Fix integer overflow in av_clip_int8/16_c

Michael Niedermayer git at videolan.org
Wed Feb 25 21:31:29 CET 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Wed Feb 25 20:55:02 2015 +0100| [6d66e1a1136d7a720f370556852c8b5ed0abdfea] | committer: Michael Niedermayer

avutil/common: Fix integer overflow in av_clip_int8/16_c

Fixes: signal_sigsegv_30420a5_2388_cov_1489993561_integra_lavf.mp4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

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

 libavutil/common.h |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/libavutil/common.h b/libavutil/common.h
index 3675a6c..2fca693 100644
--- a/libavutil/common.h
+++ b/libavutil/common.h
@@ -147,7 +147,7 @@ static av_always_inline av_const uint8_t av_clip_uint8_c(int a)
  */
 static av_always_inline av_const int8_t av_clip_int8_c(int a)
 {
-    if ((a+0x80) & ~0xFF) return (a>>31) ^ 0x7F;
+    if ((a+0x80U) & ~0xFF) return (a>>31) ^ 0x7F;
     else                  return a;
 }
 
@@ -169,7 +169,7 @@ static av_always_inline av_const uint16_t av_clip_uint16_c(int a)
  */
 static av_always_inline av_const int16_t av_clip_int16_c(int a)
 {
-    if ((a+0x8000) & ~0xFFFF) return (a>>31) ^ 0x7FFF;
+    if ((a+0x8000U) & ~0xFFFF) return (a>>31) ^ 0x7FFF;
     else                      return a;
 }
 



More information about the ffmpeg-cvslog mailing list