diff options
author | Michael Niedermayer <michaelni@gmx.at> | 2012-03-23 04:32:16 +0100 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2012-03-23 04:32:16 +0100 |
commit | ac2cb279162218e92a5663caac27d695e6514b69 (patch) | |
tree | f3bcea749f24d8cd39fb9f8ada2f5cb11cca013d /libavformat/mov.c | |
parent | c0a99eae296177b22387fab8921d079088d8a54b (diff) | |
download | ffmpeg-ac2cb279162218e92a5663caac27d695e6514b69.tar.gz |
mov: Fix FPE on 0 time_scale
Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
Diffstat (limited to 'libavformat/mov.c')
-rw-r--r-- | libavformat/mov.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index 66c1886112..785d284b86 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -805,7 +805,8 @@ static int mov_read_mvhd(MOVContext *c, AVIOContext *pb, MOVAtom atom) c->duration = (version == 1) ? avio_rb64(pb) : avio_rb32(pb); /* duration */ // set the AVCodecContext duration because the duration of individual tracks // may be inaccurate - c->fc->duration = av_rescale(c->duration, AV_TIME_BASE, c->time_scale); + if (c->time_scale > 0) + c->fc->duration = av_rescale(c->duration, AV_TIME_BASE, c->time_scale); avio_rb32(pb); /* preferred scale */ avio_rb16(pb); /* preferred volume */ |