Commit f60dbd6136 for ffmpeg

commit f60dbd61368343800b91187fdd7c04446e23a236
Author: Michael Niedermayer <michael@niedermayer.cc>
Date:   Sat Oct 3 19:09:04 2026 +0200

    avfilter/vf_minterpolate: free the sub-blocks of all 4 sub-blocks

    Fixes: memory leak
    Found during review of the security report H4m9FuNqTLv6

diff --git a/libavfilter/vf_minterpolate.c b/libavfilter/vf_minterpolate.c
index fa63dc4a37..c996713553 100644
--- a/libavfilter/vf_minterpolate.c
+++ b/libavfilter/vf_minterpolate.c
@@ -1208,12 +1208,12 @@ static int filter_frame(AVFilterLink *inlink, AVFrame *avf_in)
     return 0;
 }

-static av_cold void free_blocks(Block *block, int sb)
+static av_cold void free_blocks(Block *block)
 {
     if (block->subs)
-        free_blocks(block->subs, 1);
-    if (sb)
-        av_freep(&block);
+        for (int i = 0; i < 4; i++)
+            free_blocks(&block->subs[i]);
+    av_freep(&block->subs);
 }

 static av_cold void uninit(AVFilterContext *ctx)
@@ -1226,7 +1226,7 @@ static av_cold void uninit(AVFilterContext *ctx)
     av_freep(&mi_ctx->pixel_refs);
     if (mi_ctx->int_blocks)
         for (m = 0; m < mi_ctx->b_count; m++)
-            free_blocks(&mi_ctx->int_blocks[m], 0);
+            free_blocks(&mi_ctx->int_blocks[m]);
     av_freep(&mi_ctx->int_blocks);

     for (i = 0; i < NB_FRAMES; i++) {