From 7f864badc01f92f5861aa57dc954c07977b2f1f4 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 28 May 2016 23:51:35 +0200 Subject: avformat/utils: avoid overflow in compute_chapters_end() with huge durations Fixes: usan_granule_overflow Found-by: Thomas Guilbert Signed-off-by: Michael Niedermayer (cherry picked from commit c1ed78a591f68f3c81eded0bfaac313937ffa3b6) Signed-off-by: Michael Niedermayer --- libavformat/utils.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/libavformat/utils.c b/libavformat/utils.c index fe684c352d..542ded76cb 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -2919,7 +2919,7 @@ static void compute_chapters_end(AVFormatContext *s) unsigned int i, j; int64_t max_time = 0; - if (s->duration > 0) + if (s->duration > 0 && s->start_time < INT64_MAX - s->duration) max_time = s->duration + ((s->start_time == AV_NOPTS_VALUE) ? 0 : s->start_time); -- cgit v1.2.3