From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from ffbox0-bg.ffmpeg.org (ffbox0-bg.ffmpeg.org [79.124.17.100]) by master.gitmailbox.com (Postfix) with ESMTPS id 2EDC94B7FC for ; Tue, 28 Oct 2025 12:29:00 +0000 (UTC) Authentication-Results: ffbox; dkim=fail (body hash mismatch (got b'Bgfm36M7NcuL9Df1ykZFAuNSqsVdwOtiWu2VjPgkwyI=', expected b'pyqkdTbpUdvv3oqvNolPwyYH5p8MaDv8jxKy2IQ+hSk=')) header.d=hanwha.com header.a=rsa-sha256 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=ffmpeg.org; i=@ffmpeg.org; q=dns/txt; s=mail; t=1761654532; h=to : date : message-id : mime-version : reply-to : subject : list-id : list-archive : list-archive : list-help : list-owner : list-post : list-subscribe : list-unsubscribe : from : cc : content-type : content-transfer-encoding : from; bh=UW6MU9/qE18BiUnYjDrXtjyu10WsBwF2JuiOneBAC7U=; b=B+ayU3tgqf51hS4KFIlgZsUrNVivgbDpCqerfaXE5gmPbfguBl76/uXFcUgyJ5W5eQs49 zo7//gSRXFRUtJPkpdlfw6f/BhDClLWG+z/F9HsHgv2nTHfzvirjWEXywrbMjuvuKhlIdNH 50bVEEBJvtgvJO6TTezOGKZVJjLU44yxgdV+eyXqqzI3MltNOEMnKSvmBP22Fc7lGoxNfF6 O0pGI4c5KMRrFBkz4ZrgNJODbh6U3bsBk0kgqFmth/TPK2KZrL4Nu1WXIHz/91asT4YT1nd qI88F1YO367tnO12vR/57x0d7fQ5xn6qaww88TLVbi2OttcTj29NQnIU5pWA== Received: from [172.19.0.2] (unknown [172.19.0.2]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTP id 842CA68F785; Tue, 28 Oct 2025 14:28:52 +0200 (EET) ARC-Seal: i=1; cv=none; a=rsa-sha256; d=ffmpeg.org; s=arc; t=1761654517; b=pkwo8Ljwp3pmcT4APkytNzoRqzNg8FCdqcj7Bxp1VJYw2uqHkdebjwZRDHNLDlmJWEHxa sGYgNrJY3JN3K1LIbdo4X2upbu3ZBJroGKP4SDxJ00zIvnoyArrMk05Jab9/V8NKsrbdrNb N/D7HV5qgfmNzyNcmMfFIQe+SR+bO+rCB+EsTeMphwLQcQHHM5xSgRmJU2yfy3TSNPiYjuk LDDcYwI2RVtrpD2DjwFAEhFVYncEVxqc0LRTN8dK0pdT3wglVFTWyg0LnCUXiqNL/TjmQG5 qJfMEu6k4iuFkKG/GxUU33giYcSVasPQjI/2ecHeIpMusvPb/wSDu5NzX04g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=ffmpeg.org; s=arc; t=1761654517; h=from : sender : reply-to : subject : date : message-id : to : cc : mime-version : content-type : content-transfer-encoding : content-id : content-description : resent-date : resent-from : resent-sender : resent-to : resent-cc : resent-message-id : in-reply-to : references : list-id : list-help : list-unsubscribe : list-subscribe : list-post : list-owner : list-archive; bh=Bgfm36M7NcuL9Df1ykZFAuNSqsVdwOtiWu2VjPgkwyI=; b=R+sXXHvUrgZ5N5nrUcrZwvibIqvShw1/WNAVITXiUq8F/7JHUQiFYyglkJU/BLX85LLvt MjBN04ZzspfYrzFjvtefoi7vs6p+iOC4U7GAQc3i5XiVz+sRzgAJK+QAZFHqBqqTx9Ma1xl ksLYJA4RSGUEELqV/HrPeDKk1EhgrqfKqU5RFA0DVubv9MBDCmXF0A8oOZisCAZyrA01qbn guDWQHKwvzbQjVvfw1yzm9tu4MdH6ROgQ0gT65sNlAG2gIlnzn0FwzZjlaMkGGX1x3H0AkZ uHlI3esH8zWuuJxzmxgYpsgOgE506Eih2RN34q9dxwq++lX0v3/3WhV5v/kA== ARC-Authentication-Results: i=1; ffmpeg.org; dkim=pass header.d=hanwha.com; arc=none; dmarc=pass header.from=hanwha.com policy.dmarc=none Authentication-Results: ffmpeg.org; dkim=pass header.d=hanwha.com; arc=none (Message is not ARC signed); dmarc=pass (Used From Domain Record) header.from=hanwha.com policy.dmarc=none Received: from mscreen.ep.hanwha.com (mscreen1.ep.hanwha.com [218.146.32.14]) by ffbox0-bg.ffmpeg.org (Postfix) with ESMTPS id 1F83268F650 for ; Tue, 28 Oct 2025 14:28:22 +0200 (EET) Received: from unknown (HELO autodiscover.ep.hanwha.com) (10.42.199.61) by 10.42.199.132 with ESMTP; 28 Oct 2025 21:28:16 +0900 X-Original-SENDERIP: 10.42.199.61 X-Original-MAILFROM: hh3.kim@hanwha.com X-Original-RCPTTO: ffmpeg-devel@ffmpeg.org Content-Language: ko-KR DKIM-Signature: v=1; a=rsa-sha256; d=hanwha.com; s=20220405; c=relaxed/relaxed; t=1761654496; h=from:subject:to:date:message-id; bh=pyqkdTbpUdvv3oqvNolPwyYH5p8MaDv8jxKy2IQ+hSk=; b=CtjuB0zdm9a7Uqa6UkoH+V4iZjSoMeu9YRHscCIL7x5wZOGRCMM2gqmtN5D1NR4a1W1w5GJfe2k NHi5Ccebl8Md2IEd/apBt9FuS3du2lFmNQWjdtwPut6OFyKh1Bwc5kIyPF9kuAYj2dT0F5zG0hPts dEFYD3s4d5PtNlBdTE2zVqyDgmUDkLQSxeAKZ88x/8UKA5s02Bg+NJR69ZT+aRjIs5TnGdyXcFHyb cJQ7c0TmNeUc5vUP1UYbWcStO3Bmcpqa2rjPcBWiQCml8S02NoFtlAnpIyZmr3ucRGuSLRmskzo9Q 2u40JA/xu5pzkYY0Fnr0Sxx1F21dhPCd9N9A== Received: from EP-EX02P.EP.hanwha.com (10.42.199.62) by EP-EX01P.EP.hanwha.com (10.42.199.61) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id 15.1.2507.55; Tue, 28 Oct 2025 21:28:16 +0900 Received: from EP-EX02P.EP.hanwha.com ([fe80::25fc:9759:17fb:6e22]) by EP-EX02P.EP.hanwha.com ([fe80::25fc:9759:17fb:6e22%11]) with mapi id 15.01.2507.055; Tue, 28 Oct 2025 21:28:16 +0900 To: "ffmpeg-devel@ffmpeg.org" Thread-Topic: [PATCH] avcodec/qsv: Multiple calls to ff_qsv_init_session_frames() cause handle and memory leaks. Thread-Index: AdxIAkKsGhXHOYhCQYSTfmkkSeJb3A== Date: Tue, 28 Oct 2025 12:28:16 +0000 Message-ID: <67afd6cd2472418eb4668f64f9f3a0d3@hanwha.com> Accept-Language: ko-KR, en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-ms-exchange-messagesentrepresentingtype: 1 x-originating-ip: [55.101.66.208] MIME-Version: 1.0 Message-ID-Hash: L7SNAY6UYQLDJXCRFK3NSUSHMTS3SM3O X-Message-ID-Hash: L7SNAY6UYQLDJXCRFK3NSUSHMTS3SM3O X-MailFrom: SRS0=vqN+=5F=hanwha.com=hh3.kim@ffmpeg.org X-Mailman-Rule-Misses: dmarc-mitigation; no-senders; approved; loop; banned-address; header-match-ffmpeg-devel.ffmpeg.org-0; header-match-ffmpeg-devel.ffmpeg.org-1; header-match-ffmpeg-devel.ffmpeg.org-2; header-match-ffmpeg-devel.ffmpeg.org-3; emergency; member-moderation; nonmember-moderation; administrivia; implicit-dest; max-recipients; max-size; news-moderation; no-subject; digests; suspicious-header X-Mailman-Version: 3.3.10 Precedence: list Reply-To: FFmpeg development discussions and patches Subject: [FFmpeg-devel] [PATCH] avcodec/qsv: Multiple calls to ff_qsv_init_session_frames() cause handle and memory leaks. List-Id: FFmpeg development discussions and patches Archived-At: Archived-At: List-Archive: List-Archive: List-Help: List-Owner: List-Post: List-Subscribe: List-Unsubscribe: From: =?utf-8?b?6rmA7ZiE7Zi4KEhZVU4gSE8gS0lNKSB2aWEgZmZtcGVnLWRldmVs?= Cc: =?utf-8?B?6rmA7ZiE7Zi4KEhZVU4gSE8gS0lNKQ==?= Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Archived-At: List-Archive: List-Post: Within qsvdec.c, ff_qsv_init_session_frames() is typically called twice during decoder initialization. Although qsv_create_mids() may be called if avctx->hw_frames_ctx exists, this procedure causes memory and handle leaks because the existing created resources are merely set to NULL before ff_refstruct_unref() is called. Signed-off-by: Hyunho Kim --- libavcodec/qsv.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/libavcodec/qsv.c b/libavcodec/qsv.c index 8a3dc95706..d8ddf85392 100644 --- a/libavcodec/qsv.c +++ b/libavcodec/qsv.c @@ -1133,13 +1133,13 @@ int ff_qsv_init_session_frames(AVCodecContext *avctx, mfxSession *psession, return ret; if (!opaque) { + /* clean up the exist mids */ + ff_refstruct_unref(&qsv_frames_ctx->mids); qsv_frames_ctx->logctx = avctx; - qsv_frames_ctx->mids = NULL; qsv_frames_ctx->nb_mids = 0; /* allocate the memory ids for the external frames */ if (frames_hwctx->nb_surfaces) { - ff_refstruct_unref(&qsv_frames_ctx->mids); qsv_frames_ctx->mids = qsv_create_mids(qsv_frames_ctx->hw_frames_ctx); if (!qsv_frames_ctx->mids) return AVERROR(ENOMEM); -- 2.48.1.windows.1 _______________________________________________ ffmpeg-devel mailing list -- ffmpeg-devel@ffmpeg.org To unsubscribe send an email to ffmpeg-devel-leave@ffmpeg.org