summaryrefslogtreecommitdiff
path: root/libavformat/utils.c
diff options
context:
space:
mode:
authorMichael Niedermayer <michael@niedermayer.cc>2022-02-01 18:28:16 +0100
committerMichael Niedermayer <michael@niedermayer.cc>2022-02-09 10:26:35 +0100
commit948c26209979cef9d052531fcf9f1281cd8e0213 (patch)
tree0b7164f316c9840a239be37733bb0025cceacc94 /libavformat/utils.c
parentaeaefc3728cb46dc1fb2c363785fed482f358d17 (diff)
downloadffmpeg-948c26209979cef9d052531fcf9f1281cd8e0213.tar.gz
avformat/utils: keep chapter monotonicity on chapter updates
Updating a chapter with the same id does not break monotonicity Fixes: Timeout Fixes: 43727/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-4960623367159808 Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat/utils.c')
-rw-r--r--libavformat/utils.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/libavformat/utils.c b/libavformat/utils.c
index e643821fc9..940703e87d 100644
--- a/libavformat/utils.c
+++ b/libavformat/utils.c
@@ -895,10 +895,11 @@ AVChapter *avpriv_new_chapter(AVFormatContext *s, int64_t id, AVRational time_ba
if (!s->nb_chapters) {
si->chapter_ids_monotonic = 1;
} else if (!si->chapter_ids_monotonic || s->chapters[s->nb_chapters-1]->id >= id) {
- si->chapter_ids_monotonic = 0;
for (unsigned i = 0; i < s->nb_chapters; i++)
if (s->chapters[i]->id == id)
chapter = s->chapters[i];
+ if (!chapter)
+ si->chapter_ids_monotonic = 0;
}
if (!chapter) {