[FFmpeg-cvslog] avcodec/utils: Fix signed integer overflow in rc_initial_buffer_occupancy initialization

Vitaly Buka git at videolan.org
Sun Sep 17 17:50:32 EEST 2017


ffmpeg | branch: release/3.1 | Vitaly Buka <vitalybuka-at-google.com at ffmpeg.org> | Sun Aug 20 11:56:47 2017 -0700| [edac232860366fc954dc93f4610f76b6062ba933] | committer: Michael Niedermayer

avcodec/utils: Fix signed integer overflow in rc_initial_buffer_occupancy initialization

Signed integer overflow is undefined behavior.
Detected with clang and -fsanitize=signed-integer-overflow

Signed-off-by: Vitaly Buka <vitalybuka at google.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>
(cherry picked from commit 8c2bb10ddfef1f151b9455d152c9aca91140a4b0)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

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

diff --git a/libavcodec/utils.c b/libavcodec/utils.c
index 01d61597a8..c4af9cbb17 100644
--- a/libavcodec/utils.c
+++ b/libavcodec/utils.c
@@ -1540,7 +1540,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
         }
 
         if (!avctx->rc_initial_buffer_occupancy)
-            avctx->rc_initial_buffer_occupancy = avctx->rc_buffer_size * 3 / 4;
+            avctx->rc_initial_buffer_occupancy = avctx->rc_buffer_size * 3LL / 4;
 
         if (avctx->ticks_per_frame && avctx->time_base.num &&
             avctx->ticks_per_frame > INT_MAX / avctx->time_base.num) {



More information about the ffmpeg-cvslog mailing list