aboutsummaryrefslogtreecommitdiffstats
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-03-28 23:18:55 +0200
commitfc858472235f620ca01ea557516e920099c10233 (patch)
treea9b6de59af1d914d94e609a42612f3b11b65d0f1 /libavformat/utils.c
parentea98cb2465c3b52fa468b8baf3f5b92d550f3d2c (diff)
downloadffmpeg-fc858472235f620ca01ea557516e920099c10233.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> (cherry picked from commit 948c26209979cef9d052531fcf9f1281cd8e0213) 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) {