From 39ee3ddff87a12e108fc4e0d36f756d0ca080472 Mon Sep 17 00:00:00 2001 From: Michael Niedermayer Date: Sat, 1 Apr 2017 19:18:36 +0200 Subject: [PATCH] avformat/mov: Check creation_time for overflow Fixes integer overflow Fixes: 701640 Found-by: Found-by: Thomas Guilbert Signed-off-by: Michael Niedermayer --- libavformat/mov.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavformat/mov.c b/libavformat/mov.c index 4550cf0ad4..90bc2499da 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -1186,6 +1186,12 @@ static void mov_metadata_creation_time(AVDictionary **metadata, int64_t time) if (time) { if(time >= 2082844800) time -= 2082844800; /* seconds between 1904-01-01 and Epoch */ + + if ((int64_t)(time * 1000000ULL) / 1000000 != time) { + av_log(NULL, AV_LOG_DEBUG, "creation_time is not representable\n"); + return; + } + avpriv_dict_set_timestamp(metadata, "creation_time", time * 1000000); } }