From 9e8424088c5648959e4c5d715290e6cfa96df087 Mon Sep 17 00:00:00 2001 From: Chuan Zheng Date: Wed, 11 Nov 2020 22:26:03 +0800 Subject: [PATCH] multifd/tls: fix memoryleak of the QIOChannelSocket object when cancelling migration MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When creating new tls client, the tioc->master will be referenced which results in socket leaking after multifd_save_cleanup if we cancel migration. Fix it by do object_unref() after tls client creation. Suggested-by: Daniel P. Berrangé Signed-off-by: Chuan Zheng Message-Id: <1605104763-118687-1-git-send-email-zhengchuan@huawei.com> Reviewed-by: Daniel P. Berrangé Signed-off-by: Dr. David Alan Gilbert --- migration/multifd.c | 1 + 1 file changed, 1 insertion(+) diff --git a/migration/multifd.c b/migration/multifd.c index 88486b90d6..45c690aa11 100644 --- a/migration/multifd.c +++ b/migration/multifd.c @@ -765,6 +765,7 @@ static void multifd_tls_channel_connect(MultiFDSendParams *p, return; } + object_unref(OBJECT(ioc)); trace_multifd_tls_outgoing_handshake_start(ioc, tioc, hostname); qio_channel_set_name(QIO_CHANNEL(tioc), "multifd-tls-outgoing"); p->c = QIO_CHANNEL(tioc); -- 2.11.0