mirror of
https://mirror.skon.top/https://github.com/FFmpeg/FFmpeg
synced 2026-05-01 06:13:08 +08:00
mov: Free intermediate arrays in the normal cleanup function
These arrays are normally freed at the end of mov_read_trak,
but make sure they're freed in case mov_read_trak returned
early (due to errors) or in case the atoms that allocate arrays
are encountered at some other point than within a trak (which
we don't have checks against).
Sample-Id: 00000496-google
Reported-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind
CC: libav-stable@libav.org
Signed-off-by: Martin Storsjö <martin@martin.st>
(cherry picked from commit d51f09962d)
Signed-off-by: Reinhard Tartler <siretart@tauware.de>
This commit is contained in:
committed by
Reinhard Tartler
parent
f728782c0d
commit
44079902c4
@@ -2758,6 +2758,14 @@ static int mov_read_close(AVFormatContext *s)
|
||||
av_freep(&sc->drefs);
|
||||
if (sc->pb && sc->pb != s->pb)
|
||||
avio_close(sc->pb);
|
||||
|
||||
av_freep(&sc->chunk_offsets);
|
||||
av_freep(&sc->stsc_data);
|
||||
av_freep(&sc->sample_sizes);
|
||||
av_freep(&sc->keyframes);
|
||||
av_freep(&sc->stts_data);
|
||||
av_freep(&sc->stps_data);
|
||||
av_freep(&sc->rap_group);
|
||||
}
|
||||
|
||||
if (mov->dv_demux) {
|
||||
|
||||
Reference in New Issue
Block a user