[FFmpeg-devel,3/3] avformat/sbgdec: Fixes integer overflow in str_to_time() with hours

Submitted by Michael Niedermayer on June 6, 2019, 9:50 p.m.

Details

Message ID 20190606215059.6935-3-michael@niedermayer.cc
State Accepted
Commit 2a0f23b9d647ad84e0351b43ca4b552add00c8dc
Headers show

Commit Message

Michael Niedermayer June 6, 2019, 9:50 p.m.
Fixes: signed integer overflow: 904444 * 3600 cannot be represented in type 'int'
Fixes: 15113/clusterfuzz-testcase-minimized-ffmpeg_DEMUXER_fuzzer-5764083346833408

Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
---
 libavformat/sbgdec.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

Patch hide | download patch | download mbox

diff --git a/libavformat/sbgdec.c b/libavformat/sbgdec.c
index 67ae39698e..4155395da0 100644
--- a/libavformat/sbgdec.c
+++ b/libavformat/sbgdec.c
@@ -197,7 +197,7 @@  static int str_to_time(const char *str, int64_t *rtime)
         if (end > cur + 1)
             cur = end;
     }
-    *rtime = (hours * 3600 + minutes * 60 + seconds) * AV_TIME_BASE;
+    *rtime = (hours * 3600LL + minutes * 60LL + seconds) * AV_TIME_BASE;
     return cur - str;
 }