diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-12-16 00:56:12 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-12-16 01:05:36 +0100 |
commit | 1662bd350a470f1cbd5c2cc9a0e1bfaa8543033f (patch) | |
tree | 8070edf72c5b65c2d6c02b2484b27ac35ecc21ce | |
parent | d7599bd8e240b923486bd130a33d38f66bb14eae (diff) | |
download | ffmpeg-1662bd350a470f1cbd5c2cc9a0e1bfaa8543033f.tar.gz |
lavf: fix integer overflows
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavformat/utils.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c index f627f884b0..88aacd4cdb 100644 --- a/libavformat/utils.c +++ b/libavformat/utils.c @@ -91,10 +91,10 @@ static int64_t wrap_timestamp(AVStream *st, int64_t timestamp) st->pts_wrap_reference != AV_NOPTS_VALUE && timestamp != AV_NOPTS_VALUE) { if (st->pts_wrap_behavior == AV_PTS_WRAP_ADD_OFFSET && timestamp < st->pts_wrap_reference) - return timestamp + (1LL<<st->pts_wrap_bits); + return timestamp + (1ULL<<st->pts_wrap_bits); else if (st->pts_wrap_behavior == AV_PTS_WRAP_SUB_OFFSET && timestamp >= st->pts_wrap_reference) - return timestamp - (1LL<<st->pts_wrap_bits); + return timestamp - (1ULL<<st->pts_wrap_bits); } return timestamp; } @@ -925,7 +925,7 @@ static AVPacketList *get_next_pkt(AVFormatContext *s, AVStream *st, AVPacketList static int update_wrap_reference(AVFormatContext *s, AVStream *st, int stream_index) { - if (s->correct_ts_overflow && st->pts_wrap_bits != 64 && + if (s->correct_ts_overflow && st->pts_wrap_bits < 63 && st->pts_wrap_reference == AV_NOPTS_VALUE && st->first_dts != AV_NOPTS_VALUE) { int i; |