Browse Source

avformat/mov: Check creation_time for overflow

Fixes integer overflow
Fixes: 701640

Found-by: Found-by: Thomas Guilbert <tguilbert@google.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
tags/n3.4
Michael Niedermayer 8 years ago
parent
commit
39ee3ddff8
1 changed files with 6 additions and 0 deletions
  1. +6
    -0
      libavformat/mov.c

+ 6
- 0
libavformat/mov.c View File

@@ -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);
}
}


Loading…
Cancel
Save