qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [PATCH] io: fix mem leak in websock error path
@ 2017-10-11 15:38 Daniel P. Berrange
  2017-10-11 16:38 ` Eric Blake
  2017-10-11 17:29 ` Philippe Mathieu-Daudé
  0 siblings, 2 replies; 3+ messages in thread
From: Daniel P. Berrange @ 2017-10-11 15:38 UTC (permalink / raw)
  To: qemu-devel

Coverity pointed out the 'date' is not free()d in the error
path

Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
---
 io/channel-websock.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/io/channel-websock.c b/io/channel-websock.c
index aa35ef3274..a1c10ab719 100644
--- a/io/channel-websock.c
+++ b/io/channel-websock.c
@@ -355,6 +355,7 @@ static void qio_channel_websock_handshake_send_res_ok(QIOChannelWebsock *ioc,
                             QIO_CHANNEL_WEBSOCK_GUID_LEN,
                             &accept,
                             errp) < 0) {
+        g_free(date);
         qio_channel_websock_handshake_send_res_err(
             ioc, QIO_CHANNEL_WEBSOCK_HANDSHAKE_RES_SERVER_ERR);
         return;
-- 
2.13.5

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

* Re: [Qemu-devel] [PATCH] io: fix mem leak in websock error path
  2017-10-11 15:38 [Qemu-devel] [PATCH] io: fix mem leak in websock error path Daniel P. Berrange
@ 2017-10-11 16:38 ` Eric Blake
  2017-10-11 17:29 ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 3+ messages in thread
From: Eric Blake @ 2017-10-11 16:38 UTC (permalink / raw)
  To: Daniel P. Berrange, qemu-devel

[-- Attachment #1: Type: text/plain, Size: 1025 bytes --]

On 10/11/2017 10:38 AM, Daniel P. Berrange wrote:
> Coverity pointed out the 'date' is not free()d in the error
> path
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  io/channel-websock.c | 1 +
>  1 file changed, 1 insertion(+)

Reviewed-by: Eric Blake <eblake@redhat.com>

> 
> diff --git a/io/channel-websock.c b/io/channel-websock.c
> index aa35ef3274..a1c10ab719 100644
> --- a/io/channel-websock.c
> +++ b/io/channel-websock.c
> @@ -355,6 +355,7 @@ static void qio_channel_websock_handshake_send_res_ok(QIOChannelWebsock *ioc,
>                              QIO_CHANNEL_WEBSOCK_GUID_LEN,
>                              &accept,
>                              errp) < 0) {
> +        g_free(date);
>          qio_channel_websock_handshake_send_res_err(
>              ioc, QIO_CHANNEL_WEBSOCK_HANDSHAKE_RES_SERVER_ERR);
>          return;
> 

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


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 619 bytes --]

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

* Re: [Qemu-devel] [PATCH] io: fix mem leak in websock error path
  2017-10-11 15:38 [Qemu-devel] [PATCH] io: fix mem leak in websock error path Daniel P. Berrange
  2017-10-11 16:38 ` Eric Blake
@ 2017-10-11 17:29 ` Philippe Mathieu-Daudé
  1 sibling, 0 replies; 3+ messages in thread
From: Philippe Mathieu-Daudé @ 2017-10-11 17:29 UTC (permalink / raw)
  To: Daniel P. Berrange, qemu-devel, Eric Blake

Hi Daniel,

On 10/11/2017 12:38 PM, Daniel P. Berrange wrote:
> Coverity pointed out the 'date' is not free()d in the error
> path
> 
> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
> ---
>  io/channel-websock.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/io/channel-websock.c b/io/channel-websock.c
> index aa35ef3274..a1c10ab719 100644
> --- a/io/channel-websock.c
> +++ b/io/channel-websock.c
> @@ -355,6 +355,7 @@ static void qio_channel_websock_handshake_send_res_ok(QIOChannelWebsock *ioc,
>                              QIO_CHANNEL_WEBSOCK_GUID_LEN,
>                              &accept,
>                              errp) < 0) {
> +        g_free(date);

It looks cleaner to only call qio_channel_websock_date_str() before to
use date, which is _after_ qcrypto_hash_base64() might fails.

>          qio_channel_websock_handshake_send_res_err(
>              ioc, QIO_CHANNEL_WEBSOCK_HANDSHAKE_RES_SERVER_ERR);
>          return;
    }

+   date = qio_channel_websock_date_str();
    qio_channel_websock_handshake_send_res(
        ioc, QIO_CHANNEL_WEBSOCK_HANDSHAKE_RES_OK, date, accept);

    g_free(date);
    g_free(accept);
}

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

end of thread, other threads:[~2017-10-11 17:31 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-10-11 15:38 [Qemu-devel] [PATCH] io: fix mem leak in websock error path Daniel P. Berrange
2017-10-11 16:38 ` Eric Blake
2017-10-11 17:29 ` Philippe Mathieu-Daudé

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