PR #21182 opened by ddennedy
URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21182
Patch URL: https://code.ffmpeg.org/FFmpeg/FFmpeg/pulls/21182.patch

This fixes #20995. The reference is taken twice and assigned to the same 
pointer (see above in the same function). Only the latter is needed.

Please consider to pick this into the release/8.0 branch.



>From ad511e919e1dfc194a4e1125f50a24620df0effd Mon Sep 17 00:00:00 2001
From: Dan Dennedy <[email protected]>
Date: Fri, 12 Dec 2025 11:08:32 -0800
Subject: [PATCH] scale_d3d11: Fix hw_frame_ctx reference leak

This fixes #20995. The reference is taken twice and assigned to the same 
pointer (see above in the same function). Only the latter is needed.
---
 libavfilter/vf_scale_d3d11.c | 8 +-------
 1 file changed, 1 insertion(+), 7 deletions(-)

diff --git a/libavfilter/vf_scale_d3d11.c b/libavfilter/vf_scale_d3d11.c
index c301f4a0c9..093705c2ea 100644
--- a/libavfilter/vf_scale_d3d11.c
+++ b/libavfilter/vf_scale_d3d11.c
@@ -340,13 +340,6 @@ static int scale_d3d11_config_props(AVFilterLink *outlink)
         return AVERROR(EINVAL);
     }
 
-    ///< Propagate hw_frames_ctx to output
-    outl->hw_frames_ctx = av_buffer_ref(inl->hw_frames_ctx);
-    if (!outl->hw_frames_ctx) {
-        av_log(ctx, AV_LOG_ERROR, "Failed to propagate hw_frames_ctx to 
output\n");
-        return AVERROR(ENOMEM);
-    }
-
     ///< Initialize filter's hardware device context
     if (!s->hw_device_ctx) {
         AVHWFramesContext *in_frames_ctx = (AVHWFramesContext 
*)inl->hw_frames_ctx->data;
@@ -394,6 +387,7 @@ static int scale_d3d11_config_props(AVFilterLink *outlink)
         return ret;
     }
 
+    ///< Propagate hw_frames_ctx to output
     outl->hw_frames_ctx = av_buffer_ref(s->hw_frames_ctx_out);
     if (!outl->hw_frames_ctx)
         return AVERROR(ENOMEM);
-- 
2.49.1

_______________________________________________
ffmpeg-devel mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to