[FFmpeg-cvslog] movenc: Check that frag_info entries exist in mov_write_sidx_tag

Martin Storsjö git at videolan.org
Mon Aug 10 11:20:18 CEST 2015

ffmpeg | branch: master | Martin Storsjö <martin at martin.st> | Sun Aug  9 22:36:25 2015 +0300| [8e34089e265a6b01e1e3301e8864439d26793753] | committer: Martin Storsjö

movenc: Check that frag_info entries exist in mov_write_sidx_tag

This fixes crashes with pathological cases when trying to write
a sidx index (via the -movflags faststart option, in combination
with fragmenting options), when no fragments actually have been
written. (This is possible if the empty_moov flag isn't used,
so that all actual packet data is written in the moov/mdat pair,
and no moof/mdat pairs have been written.)

In these pathological cases, no sidx should be written at all.

Signed-off-by: Martin Storsjö <martin at martin.st>

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=8e34089e265a6b01e1e3301e8864439d26793753

 libavformat/movenc.c |    2 ++
 1 file changed, 2 insertions(+)

diff --git a/libavformat/movenc.c b/libavformat/movenc.c
index 158dfa8..a19c64b 100644
--- a/libavformat/movenc.c
+++ b/libavformat/movenc.c
@@ -2751,6 +2751,8 @@ static int mov_write_sidx_tag(AVIOContext *pb,
     } else {
         entries = track->nb_frag_info;
+        if (entries <= 0)
+            return 0;
         presentation_time = track->frag_info[0].time;

More information about the ffmpeg-cvslog mailing list