avformat/utils: Check end time in avpriv_new_chapter()
authorMichael Niedermayer <michaelni@gmx.at>
Fri, 23 May 2014 02:33:05 +0000 (04:33 +0200)
committerMichael Niedermayer <michaelni@gmx.at>
Fri, 23 May 2014 02:33:05 +0000 (04:33 +0200)
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
libavformat/utils.c

index 8e79177..7e3ec9b 100644 (file)
@@ -3789,6 +3789,11 @@ AVChapter *avpriv_new_chapter(AVFormatContext *s, int id, AVRational time_base,
     AVChapter *chapter = NULL;
     int i;
 
+    if (end != AV_NOPTS_VALUE && start > end) {
+        av_log(s, AV_LOG_ERROR, "Chapter end time %"PRId64" before start %"PRId64"\n", end, start);
+        return NULL;
+    }
+
     for (i = 0; i < s->nb_chapters; i++)
         if (s->chapters[i]->id == id)
             chapter = s->chapters[i];