[FFmpeg-cvslog] mov: Do not read past the end of the ctts_data table.

Alex Converse git at videolan.org
Thu Mar 22 23:30:29 CET 2012


ffmpeg | branch: master | Alex Converse <alex.converse at gmail.com> | Wed Mar 21 11:24:10 2012 -0700| [86f2ae06b92d42580ae7ebd86d52c9b7acbc2f13] | committer: Alex Converse

mov: Do not read past the end of the ctts_data table.

Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable at libav.org

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

 libavformat/mov.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 7b21423..75dec37 100644
--- a/libavformat/mov.c
+++ b/libavformat/mov.c
@@ -2713,7 +2713,7 @@ static int mov_read_packet(AVFormatContext *s, AVPacket *pkt)
 
     pkt->stream_index = sc->ffindex;
     pkt->dts = sample->timestamp;
-    if (sc->ctts_data) {
+    if (sc->ctts_data && sc->ctts_index < sc->ctts_count) {
         pkt->pts = pkt->dts + sc->dts_shift + sc->ctts_data[sc->ctts_index].duration;
         /* update ctts context */
         sc->ctts_sample++;



More information about the ffmpeg-cvslog mailing list