diff options
author | Dale Curtis <dalecurtis@chromium.org> | 2017-11-28 14:26:55 -0800 |
---|---|---|
committer | James Almer <jamrial@gmail.com> | 2017-12-01 01:24:17 -0300 |
commit | ceed79323cb0a3e37a044821d70ab7a3439e1880 (patch) | |
tree | b17f77b52b5581e7e8d798b8e739786747ab2fa8 | |
parent | 752659ff1e0f6d9de93321f8b7e7c4ff741d0c8e (diff) | |
download | ffmpeg-ceed79323cb0a3e37a044821d70ab7a3439e1880.tar.gz |
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>
(cherry picked from commit c5fd57f483d2ad8e34551b78509f1e14136f73c0)
-rw-r--r-- | libavformat/oggparsevp8.c | 2 |
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; } } |