[FFmpeg-cvslog] avformat/utils: Fix integer overflow in end time calculation in update_stream_timings()

Michael Niedermayer git at videolan.org
Fri Apr 13 23:56:37 EEST 2018


ffmpeg | branch: master | Michael Niedermayer <michael at niedermayer.cc> | Wed Apr 11 18:55:57 2018 +0200| [c48ceff786bdc96fdc64417118c457d03bd19871] | committer: Michael Niedermayer

avformat/utils: Fix integer overflow in end time calculation in update_stream_timings()

Fixes: crbug 829153

Reported-by: Matt Wolenetz <wolenetz at google.com>
Reviewed-by: Matt Wolenetz <wolenetz at google.com>
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

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

diff --git a/libavformat/utils.c b/libavformat/utils.c
index 84b926dc5a..69f9653190 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -2648,7 +2648,7 @@ static void update_stream_timings(AVFormatContext *ic)
     else if (start_time > start_time_text)
         av_log(ic, AV_LOG_VERBOSE, "Ignoring outlier non primary stream starttime %f\n", start_time_text / (float)AV_TIME_BASE);
 
-    if (end_time == INT64_MIN || (end_time < end_time_text && end_time_text - end_time < AV_TIME_BASE)) {
+    if (end_time == INT64_MIN || (end_time < end_time_text && end_time_text - (uint64_t)end_time < AV_TIME_BASE)) {
         end_time = end_time_text;
     } else if (end_time < end_time_text) {
         av_log(ic, AV_LOG_VERBOSE, "Ignoring outlier non primary stream endtime %f\n", end_time_text / (float)AV_TIME_BASE);



More information about the ffmpeg-cvslog mailing list