From: Chuan Zheng Date: Wed, 11 Nov 2020 14:26:03 +0000 (+0800) Subject: multifd/tls: fix memoryleak of the QIOChannelSocket object when cancelling migration X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=9e8424088c5648959e4c5d715290e6cfa96df087;p=qemu.git multifd/tls: fix memoryleak of the QIOChannelSocket object when cancelling migration 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 --- 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);