[FFmpeg-cvslog] lavfi/buffersink: avoid leaking peeked_frame on uninit

Anton Khirnov git at videolan.org
Wed Dec 6 11:43:43 EET 2023


ffmpeg | branch: master | Anton Khirnov <anton at khirnov.net> | Thu Nov 23 16:31:53 2023 +0100| [c6483f1c2ac46d13ba1f2b547291b492a546f75a] | committer: Anton Khirnov

lavfi/buffersink: avoid leaking peeked_frame on uninit

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=c6483f1c2ac46d13ba1f2b547291b492a546f75a
---

 libavfilter/buffersink.c | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/libavfilter/buffersink.c b/libavfilter/buffersink.c
index ca2af1bc07..3da3331159 100644
--- a/libavfilter/buffersink.c
+++ b/libavfilter/buffersink.c
@@ -164,6 +164,13 @@ static av_cold int common_init(AVFilterContext *ctx)
     return 0;
 }
 
+static void uninit(AVFilterContext *ctx)
+{
+    BufferSinkContext *buf = ctx->priv;
+
+    av_frame_free(&buf->peeked_frame);
+}
+
 static int activate(AVFilterContext *ctx)
 {
     BufferSinkContext *buf = ctx->priv;
@@ -385,6 +392,7 @@ const AVFilter ff_vsink_buffer = {
     .priv_size     = sizeof(BufferSinkContext),
     .priv_class    = &buffersink_class,
     .init          = common_init,
+    .uninit        = uninit,
     .activate      = activate,
     FILTER_INPUTS(ff_video_default_filterpad),
     .outputs       = NULL,
@@ -397,6 +405,7 @@ const AVFilter ff_asink_abuffer = {
     .priv_class    = &abuffersink_class,
     .priv_size     = sizeof(BufferSinkContext),
     .init          = common_init,
+    .uninit        = uninit,
     .activate      = activate,
     FILTER_INPUTS(ff_audio_default_filterpad),
     .outputs       = NULL,



More information about the ffmpeg-cvslog mailing list