Skip to contentSkip to conversation

io: fix mem leak in websock error path

PATCH In review Daniel P. Berrange 2 participants 2 messages Oct 12, 2017

lore
Share & tools
lore
#0 lore raw

PATCH v2 1/1 io: fix mem leak in websock error path

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

---
 io/channel-websock.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
io/channel-websock.c +2 -1
index aa35ef3274..df2c3a9f99 100644
@@ -341,7 +341,7 @@ static void qio_channel_websock_handshake_send_res_ok(QIOChannelWebsock *ioc,
     char combined_key[QIO_CHANNEL_WEBSOCK_CLIENT_KEY_LEN +
                       QIO_CHANNEL_WEBSOCK_GUID_LEN + 1];
     char *accept = NULL;
-    char *date = qio_channel_websock_date_str();
+    char *date = NULL;
 
     g_strlcpy(combined_key, key, QIO_CHANNEL_WEBSOCK_CLIENT_KEY_LEN + 1);
     g_strlcat(combined_key, QIO_CHANNEL_WEBSOCK_GUID,
@@ -360,6 +360,7 @@ static void qio_channel_websock_handshake_send_res_ok(QIOChannelWebsock *ioc,
         return;
     }
 
+    date = qio_channel_websock_date_str();
     qio_channel_websock_handshake_send_res(
         ioc, QIO_CHANNEL_WEBSOCK_HANDSHAKE_RES_OK, date, accept);
 
Signature · 1 line
2.13.5
Reviewed-by on v2 1/1
#1 lore raw
Quoted 7 lines · Daniel P. Berrange

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

---
 io/channel-websock.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)
Quoted 23 lines
io/channel-websock.c +2 -1
index aa35ef3274..df2c3a9f99 100644
@@ -341,7 +341,7 @@ static void qio_channel_websock_handshake_send_res_ok(QIOChannelWebsock *ioc,
     char combined_key[QIO_CHANNEL_WEBSOCK_CLIENT_KEY_LEN +
                       QIO_CHANNEL_WEBSOCK_GUID_LEN + 1];
     char *accept = NULL;
-    char *date = qio_channel_websock_date_str();
+    char *date = NULL;
 
     g_strlcpy(combined_key, key, QIO_CHANNEL_WEBSOCK_CLIENT_KEY_LEN + 1);
     g_strlcat(combined_key, QIO_CHANNEL_WEBSOCK_GUID,
@@ -360,6 +360,7 @@ static void qio_channel_websock_handshake_send_res_ok(QIOChannelWebsock *ioc,
         return;
     }
 
+    date = qio_channel_websock_date_str();
     qio_channel_websock_handshake_send_res(
         ioc, QIO_CHANNEL_WEBSOCK_HANDSHAKE_RES_OK, date, accept);
 
Signature · 3 lines
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org