[FFmpeg-devel] [PATCH] avcodec/videotoolboxenc: Fix leaking of supported_props

Zhao Zhili quinkblack at foxmail.com
Fri Aug 23 20:09:56 EEST 2024


From: Zhao Zhili <zhilizhao at tencent.com>

There are two VTCompressionSessionRef been created, one for generating
extradata, and another for normal encoding. supported_props was been
overwritten without release.
---
 libavcodec/videotoolboxenc.c | 4 ++++
 1 file changed, 4 insertions(+)

diff --git a/libavcodec/videotoolboxenc.c b/libavcodec/videotoolboxenc.c
index 78ef474d7a..f4070571d3 100644
--- a/libavcodec/videotoolboxenc.c
+++ b/libavcodec/videotoolboxenc.c
@@ -1205,6 +1205,10 @@ static int vtenc_create_encoder(AVCodecContext   *avctx,
 
 #if defined (MAC_OS_X_VERSION_10_13) && (MAC_OS_X_VERSION_MAX_ALLOWED >= MAC_OS_X_VERSION_10_13)
     if (__builtin_available(macOS 10.13, *)) {
+        if (vtctx->supported_props) {
+            CFRelease(vtctx->supported_props);
+            vtctx->supported_props = NULL;
+        }
         status = VTCopySupportedPropertyDictionaryForEncoder(avctx->width,
                                                              avctx->height,
                                                              codec_type,
-- 
2.42.0



More information about the ffmpeg-devel mailing list