diff mbox series

[FFmpeg-devel,17/25] avformat/utils: Use av_memdup to duplicate array of AVChapter *

Message ID AM7PR03MB66601C33B8269B911B37943C8FC89@AM7PR03MB6660.eurprd03.prod.outlook.com
State Accepted
Commit fea4f953b5c6e04b84ce9c11664c9cbcac171a60
Headers show
Series [FFmpeg-devel,01/25] avformat/matroskadec: Fix heap-buffer overflow upon gigantic timestamps | expand

Checks

Context Check Description
andriy/make_x86 success Make finished
andriy/make_fate_x86 success Make fate finished
andriy/configureppc warning Failed to apply patch

Commit Message

Andreas Rheinhardt Aug. 27, 2021, 2:27 p.m. UTC
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
---
 libavformat/utils.c | 5 +----
 1 file changed, 1 insertion(+), 4 deletions(-)
diff mbox series

Patch

diff --git a/libavformat/utils.c b/libavformat/utils.c
index b3ff9e95eb..b56190d2da 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -3176,12 +3176,9 @@  static int compute_chapters_end(AVFormatContext *s)
         max_time = s->duration +
                        ((s->start_time == AV_NOPTS_VALUE) ? 0 : s->start_time);
 
-    timetable = av_malloc(s->nb_chapters * sizeof(*timetable));
+    timetable = av_memdup(s->chapters, s->nb_chapters * sizeof(*timetable));
     if (!timetable)
         return AVERROR(ENOMEM);
-
-    for (i = 0; i < s->nb_chapters; i++)
-        timetable[i] = s->chapters[i];
     qsort(timetable, s->nb_chapters, sizeof(*timetable), chapter_start_cmp);
 
     for (i = 0; i < s->nb_chapters; i++)