diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2013-12-04 14:29:35 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2013-12-04 14:36:35 +0100 |
commit | 34b16e2d364cf86960eac09e451dae6ae8792e08 (patch) | |
tree | 26f441f62608d31cc0f15a92702a8b27aa6afc55 /libavformat | |
parent | f1783c05f1398b7a08f16f6aafbcf38a5323e770 (diff) |
avformat/utils: reorder operations in update_wrap_reference()
prevents a integer overflow
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/utils.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index f33704d4c6..dcb94e8437 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -887,12 +887,11 @@ static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_in if (ref == AV_NOPTS_VALUE) ref = pkt->pts; - if (ref == AV_NOPTS_VALUE) + if (st->pts_wrap_reference != AV_NOPTS_VALUE || st->pts_wrap_bits >= 63 || ref == AV_NOPTS_VALUE || !s->correct_ts_overflow) return 0; ref &= (1LL<<st->pts_wrap_bits)-1; - if (s->correct_ts_overflow && st->pts_wrap_bits < 63 && - st->pts_wrap_reference == AV_NOPTS_VALUE) { + { int i; // reference time stamp should be 60 s before first time stamp @@ -945,7 +944,6 @@ static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_in } return 1; } - return 0; } static void update_initial_timestamps(AVFormatContext *s, int stream_index, |