diff options
author | Michael Niedermayer <michael@niedermayer.cc> | 2022-02-10 00:01:03 +0300 |
---|---|---|
committer | Michael Niedermayer <michael@niedermayer.cc> | 2022-04-07 17:27:00 +0300 |
commit | bc56a270949c1ce214c4fe1126b1ef85f0e42b29 (patch) | |
tree | 54ca9cee99e0b7cc1ec1c188590736202a667e3a /libavformat | |
parent | 51bc51032775059f7b7eac7cfc589a839061a4aa (diff) |
avformat/mov: Corner case encryption error cleanup in mov_read_senc()
Fixes: memleak
Fixes: 42341/clusterfuzz-testcase-minimized-ffmpeg_dem_MOV_fuzzer-4566632823914496
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 8ee0e4abcb8af36cae4eb24d4d6229461c1e3333)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/mov.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index f7951f3f7d..93263c2d9e 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -6043,6 +6043,8 @@ static int mov_read_senc(MOVContext *c, AVIOContext *pb, MOVAtom atom) } if (pb->eof_reached) { av_log(c->fc, AV_LOG_ERROR, "Hit EOF while reading senc\n"); + if (ret >= 0) + av_encryption_info_free(encryption_index->encrypted_samples[i]); ret = AVERROR_INVALIDDATA; } |