[FFmpeg-cvslog] avformat/mov: Check dimensions before setting aspect

Michael Niedermayer git at videolan.org
Mon Feb 9 15:04:50 CET 2015


ffmpeg | branch: master | Michael Niedermayer <michaelni at gmx.at> | Mon Feb  9 14:51:03 2015 +0100| [5763f675024765df8f256d8b5b01926a5fbd997d] | committer: Michael Niedermayer

avformat/mov: Check dimensions before setting aspect

Fixes division by 0
Fixes: asan_heap-uaf_143f420_728_cov_1441472032_HDV_0113.MP4

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
Signed-off-by: Michael Niedermayer <michaelni at gmx.at>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=5763f675024765df8f256d8b5b01926a5fbd997d
---

 libavformat/mov.c |    3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index e5dd1bd..52b6728 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2630,7 +2630,8 @@ static int mov_read_trak(MOVContext *c, AVIOContext *pb, MOVAtom atom)
     }
 
     if (st->codec->codec_type == AVMEDIA_TYPE_VIDEO) {
-        if (!st->sample_aspect_ratio.num &&
+        if (!st->sample_aspect_ratio.num && st->codec->width && st->codec->height &&
+            sc->height && sc->width &&
             (st->codec->width != sc->width || st->codec->height != sc->height)) {
             st->sample_aspect_ratio = av_d2q(((double)st->codec->height * sc->width) /
                                              ((double)st->codec->width * sc->height), INT_MAX);



More information about the ffmpeg-cvslog mailing list