From: Alex Chen Date: Mon, 30 Nov 2020 12:36:51 +0000 (+0000) Subject: qemu-nbd: Fix a memleak in qemu_nbd_client_list() X-Git-Tag: qemu-xen-4.16.0-rc4~385^2~12 X-Git-Url: http://xenbits.xensource.com/gitweb?a=commitdiff_plain;h=992809bf8bfa4a6ba0765344fb11d41ae7db3280;p=qemu-xen.git qemu-nbd: Fix a memleak in qemu_nbd_client_list() When the qio_channel_socket_connect_sync() fails we should goto 'out' label to free the 'sioc' instead of return. Reported-by: Euler Robot Signed-off-by: Alex Chen Message-Id: <20201130123651.17543-1-alex.chen@huawei.com> Reviewed-by: Alberto Garcia Signed-off-by: Eric Blake --- diff --git a/qemu-nbd.c b/qemu-nbd.c index a7075c5419..47587a709e 100644 --- a/qemu-nbd.c +++ b/qemu-nbd.c @@ -181,7 +181,7 @@ static int qemu_nbd_client_list(SocketAddress *saddr, QCryptoTLSCreds *tls, sioc = qio_channel_socket_new(); if (qio_channel_socket_connect_sync(sioc, saddr, &err) < 0) { error_report_err(err); - return EXIT_FAILURE; + goto out; } rc = nbd_receive_export_list(QIO_CHANNEL(sioc), tls, hostname, &list, &err);