]> git.sesse.net Git - ffmpeg/commit
avformat/mux: Fix leak when adding packet to interleavement queue fails
authorAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Sat, 11 Apr 2020 11:37:24 +0000 (13:37 +0200)
committerAndreas Rheinhardt <andreas.rheinhardt@gmail.com>
Fri, 17 Apr 2020 22:22:22 +0000 (00:22 +0200)
commita43120b609db300a4b3fa086d6ac753c13e6bf6d
tree1d8d2656f972e0966cf6bfb20ef62a9d1876129f
parent1004a92cd44404ad55a75509cd289a70fa03d333
avformat/mux: Fix leak when adding packet to interleavement queue fails

When an error happened in ff_interleave_add_packet() when adding
a packet to the packet queue, said packet would not be unreferenced
in ff_interleave_add_packet(), but would be zeroed in
av_interleaved_write_frame(), which results in a memleak.

This has been fixed: ff_interleave_add_packet() now always unreferences
the input packet on error; as a result, it always returns blank packets
which has been documented. Relying on this a call to av_packet_unref()
in ff_audio_rechunk_interleave() can be removed.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
libavformat/audiointerleave.c
libavformat/internal.h
libavformat/mux.c