aboutsummaryrefslogtreecommitdiff
path: root/io/channel-websock.c
diff options
context:
space:
mode:
authorDaniel P. Berrange <berrange@redhat.com>2017-10-11 16:38:10 +0100
committerDaniel P. Berrange <berrange@redhat.com>2017-10-16 16:57:08 +0100
commit7fc3fcefe2fc5966c6aa1ef4f10e9740d8d73bf2 (patch)
tree9d33e615dd204f9b725e6f0e6d12467612f8d9d8 /io/channel-websock.c
parent0efd6c9ec19a1ea6c413424fbea54e1dfe471026 (diff)
downloadqemu-7fc3fcefe2fc5966c6aa1ef4f10e9740d8d73bf2.zip
qemu-7fc3fcefe2fc5966c6aa1ef4f10e9740d8d73bf2.tar.gz
qemu-7fc3fcefe2fc5966c6aa1ef4f10e9740d8d73bf2.tar.bz2
io: fix mem leak in websock error path
Coverity pointed out the 'date' is not free()d in the error path Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Daniel P. Berrange <berrange@redhat.com>
Diffstat (limited to 'io/channel-websock.c')
-rw-r--r--io/channel-websock.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/io/channel-websock.c b/io/channel-websock.c
index aa35ef3..df2c3a9 100644
--- a/io/channel-websock.c
+++ b/io/channel-websock.c
@@ -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);