Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/FFmpeg/FFmpeg.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorDale Curtis <dalecurtis@chromium.org>2017-11-29 01:26:55 +0300
committerJames Almer <jamrial@gmail.com>2017-11-29 06:52:27 +0300
commitc5fd57f483d2ad8e34551b78509f1e14136f73c0 (patch)
treef265aba4281f7494e580f121546b3dd8685359fa /libavformat/oggparsevp8.c
parenta3a0b5bd0aaae314619d5b41fb918aacd908a5ae (diff)
Don't manipulate duration when it's AV_NOPTS_VALUE.
This leads to signed integer overflow. Signed-off-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: James Almer <jamrial@gmail.com>
Diffstat (limited to 'libavformat/oggparsevp8.c')
-rw-r--r--libavformat/oggparsevp8.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/oggparsevp8.c b/libavformat/oggparsevp8.c
index c534ab117d..b76ac71cc5 100644
--- a/libavformat/oggparsevp8.c
+++ b/libavformat/oggparsevp8.c
@@ -125,7 +125,7 @@ static int vp8_packet(AVFormatContext *s, int idx)
os->lastdts = vp8_gptopts(s, idx, os->granule, NULL) - duration;
if(s->streams[idx]->start_time == AV_NOPTS_VALUE) {
s->streams[idx]->start_time = os->lastpts;
- if (s->streams[idx]->duration)
+ if (s->streams[idx]->duration && s->streams[idx]->duration != AV_NOPTS_VALUE)
s->streams[idx]->duration -= s->streams[idx]->start_time;
}
}