You've already forked FFmpeg
mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2025-08-10 06:10:52 +02:00
avformat/utils: Check AVFormatContext->duration in compute_chapters_end() before use
Fixes integer overflow Fixes: 266ee543812e934f7b4a72923a2701d4/signal_sigabrt_7ffff6ae7cc9_7322_85218d61759d461bdf7387180e8000c9.ogg Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
This commit is contained in:
@@ -2889,7 +2889,10 @@ enum AVCodecID av_codec_get_id(const AVCodecTag *const *tags, unsigned int tag)
|
|||||||
static void compute_chapters_end(AVFormatContext *s)
|
static void compute_chapters_end(AVFormatContext *s)
|
||||||
{
|
{
|
||||||
unsigned int i, j;
|
unsigned int i, j;
|
||||||
int64_t max_time = s->duration +
|
int64_t max_time = 0;
|
||||||
|
|
||||||
|
if (s->duration > 0)
|
||||||
|
max_time = s->duration +
|
||||||
((s->start_time == AV_NOPTS_VALUE) ? 0 : s->start_time);
|
((s->start_time == AV_NOPTS_VALUE) ? 0 : s->start_time);
|
||||||
|
|
||||||
for (i = 0; i < s->nb_chapters; i++)
|
for (i = 0; i < s->nb_chapters; i++)
|
||||||
|
Reference in New Issue
Block a user