qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [PATCH] qemu-nbd: Fix a memleak in qemu_nbd_client_list()
@ 2020-11-30 12:36 Alex Chen
  2020-11-30 13:05 ` Alberto Garcia
  2020-11-30 18:54 ` Eric Blake
  0 siblings, 2 replies; 3+ messages in thread
From: Alex Chen @ 2020-11-30 12:36 UTC (permalink / raw)
  To: eblake
  Cc: alex.chen, qemu-trivial, qemu-devel, qemu-block, zhang.zhanghailiang

When the qio_channel_socket_connect_sync() fails
we should goto 'out' label to free the 'sioc' instead of return.

Reported-by: Euler Robot <euler.robot@huawei.com>
Signed-off-by: Alex Chen <alex.chen@huawei.com>
---
 qemu-nbd.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

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);
-- 
2.19.1



^ permalink raw reply related	[flat|nested] 3+ messages in thread

* Re: [PATCH] qemu-nbd: Fix a memleak in qemu_nbd_client_list()
  2020-11-30 12:36 [PATCH] qemu-nbd: Fix a memleak in qemu_nbd_client_list() Alex Chen
@ 2020-11-30 13:05 ` Alberto Garcia
  2020-11-30 18:54 ` Eric Blake
  1 sibling, 0 replies; 3+ messages in thread
From: Alberto Garcia @ 2020-11-30 13:05 UTC (permalink / raw)
  To: Alex Chen, eblake
  Cc: alex.chen, qemu-trivial, qemu-devel, qemu-block, zhang.zhanghailiang

On Mon 30 Nov 2020 01:36:51 PM CET, Alex Chen wrote:
> When the qio_channel_socket_connect_sync() fails
> we should goto 'out' label to free the 'sioc' instead of return.
>
> Reported-by: Euler Robot <euler.robot@huawei.com>
> Signed-off-by: Alex Chen <alex.chen@huawei.com>

Reviewed-by: Alberto Garcia <berto@igalia.com>

Berto


^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: [PATCH] qemu-nbd: Fix a memleak in qemu_nbd_client_list()
  2020-11-30 12:36 [PATCH] qemu-nbd: Fix a memleak in qemu_nbd_client_list() Alex Chen
  2020-11-30 13:05 ` Alberto Garcia
@ 2020-11-30 18:54 ` Eric Blake
  1 sibling, 0 replies; 3+ messages in thread
From: Eric Blake @ 2020-11-30 18:54 UTC (permalink / raw)
  To: Alex Chen; +Cc: qemu-trivial, qemu-devel, qemu-block, zhang.zhanghailiang

On 11/30/20 6:36 AM, Alex Chen wrote:
> When the qio_channel_socket_connect_sync() fails
> we should goto 'out' label to free the 'sioc' instead of return.
> 
> Reported-by: Euler Robot <euler.robot@huawei.com>
> Signed-off-by: Alex Chen <alex.chen@huawei.com>
> ---
>  qemu-nbd.c | 2 +-
>  1 file changed, 1 insertion(+), 1 deletion(-)

A local leak, but the only caller of qemu_nbd_client_list() is main()
which returns the value and thereby exits the program, so it is
inconsequential in the bigger picture.  I'll defer this to 6.0, and pick
it up through my NBD tree once that opens.

> 
> 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);
> 

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3226
Virtualization:  qemu.org | libvirt.org



^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-11-30 18:56 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-11-30 12:36 [PATCH] qemu-nbd: Fix a memleak in qemu_nbd_client_list() Alex Chen
2020-11-30 13:05 ` Alberto Garcia
2020-11-30 18:54 ` Eric Blake

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).