[FFmpeg-cvslog] avfilter/vf_random: fix memory leaks

Paul B Mahol git at videolan.org
Wed May 4 21:19:25 EEST 2022


ffmpeg | branch: release/4.2 | Paul B Mahol <onemda at gmail.com> | Thu Oct 17 11:28:55 2019 +0200| [c6fdee52746eb1aa2a74fc4adb368bf4a376ddf2] | committer: Michael Niedermayer

avfilter/vf_random: fix memory leaks

Fixes #8296

(cherry picked from commit 3488e0977c671568731afa12b811adce9d4d807f)
Signed-off-by: Michael Niedermayer <michael at niedermayer.cc>

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

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

diff --git a/libavfilter/vf_random.c b/libavfilter/vf_random.c
index 373a7db053..c7c9ff09c0 100644
--- a/libavfilter/vf_random.c
+++ b/libavfilter/vf_random.c
@@ -108,6 +108,14 @@ static int request_frame(AVFilterLink *outlink)
     return ret;
 }
 
+static av_cold void uninit(AVFilterContext *ctx)
+{
+    RandomContext *s = ctx->priv;
+
+    for (int i = 0; i < s->nb_frames; i++)
+        av_frame_free(&s->frames[i]);
+}
+
 static const AVFilterPad random_inputs[] = {
     {
         .name         = "default",
@@ -132,6 +140,7 @@ AVFilter ff_vf_random = {
     .priv_size   = sizeof(RandomContext),
     .priv_class  = &random_class,
     .init        = init,
+    .uninit      = uninit,
     .inputs      = random_inputs,
     .outputs     = random_outputs,
 };



More information about the ffmpeg-cvslog mailing list