diff options
author | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-04-02 04:13:44 +0200 |
---|---|---|
committer | Andreas Rheinhardt <andreas.rheinhardt@outlook.com> | 2024-04-02 04:13:44 +0200 |
commit | 9d219ff149738a9a6e3ba8f075c032cc1a3554f7 (patch) | |
tree | 2ad4f9db670e0e47a1c7014ea83c7913ad529c9f | |
parent | f492f1ac239da07970c363fb8c7f7a1aa5b5002a (diff) |
avformat/mov: Don't add attached pic if one is already present
Fixes: memleak
Fixes: 67714/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-5671570999476224
Found-by: continuous fuzzing process https://github.com/google/oss-fuzz/tree/master/projects/ffmpeg
Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@outlook.com>
-rw-r--r-- | libavformat/mov.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index fb0113b149..65faf58279 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -8820,7 +8820,7 @@ static void mov_read_chapters(AVFormatContext *s) if (st->codecpar->codec_type == AVMEDIA_TYPE_VIDEO) { st->disposition |= AV_DISPOSITION_ATTACHED_PIC | AV_DISPOSITION_TIMED_THUMBNAILS; - if (sti->nb_index_entries) { + if (!st->attached_pic.data && sti->nb_index_entries) { // Retrieve the first frame, if possible AVIndexEntry *sample = &sti->index_entries[0]; if (avio_seek(sc->pb, sample->pos, SEEK_SET) != sample->pos) { |