summaryrefslogtreecommitdiff
path: root/libavformat/utils.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2015-12-03 21:54:43 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2015-12-04 00:44:06 +0100
commitcafb19560401612a07760d230a50d9c1d0564daf (patch)
treef759baf35a2b41c9955fe9b82a240ef505ba4af0 /libavformat/utils.c
parented08cbd7b172a1dba74230527ef761aafaf2fcce (diff)
downloadffmpeg-cafb19560401612a07760d230a50d9c1d0564daf.tar.gz
avformat/utils: Fix "libavformat/utils.c:927:35: runtime error: signed integer overflow: -2450238577049583619 - 9223090561878065151 cannot be represented in type long long"
Fixes Mozilla bug 1229205 Found-by: Tyson Smith Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r--libavformat/utils.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index e93a1920c9..1103a64e5d 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -912,7 +912,7 @@ static void update_initial_timestamps(AVFormatContext *s, int stream_index,
AVStream *st = s->streams[stream_index];
AVPacketList *pktl = s->internal->packet_buffer ? s->internal->packet_buffer : s->internal->parse_queue;
int64_t pts_buffer[MAX_REORDER_DELAY+1];
- int64_t shift;
+ uint64_t shift;
int i, delay;
if (st->first_dts != AV_NOPTS_VALUE ||
@@ -924,7 +924,7 @@ static void update_initial_timestamps(AVFormatContext *s, int stream_index,
delay = st->codec->has_b_frames;
st->first_dts = dts - (st->cur_dts - RELATIVE_TS_BASE);
st->cur_dts = dts;
- shift = st->first_dts - RELATIVE_TS_BASE;
+ shift = (uint64_t)st->first_dts - RELATIVE_TS_BASE;
for (i = 0; i<MAX_REORDER_DELAY+1; i++)
pts_buffer[i] = AV_NOPTS_VALUE;