io: fix mem leak in websock error path
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
Signed-off-by Daniel P. Berrange <[email protected]>
--- io/channel-websock.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
io/channel-websock.c +2 -1
@@ -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
Quoted 7 lines · Daniel P. Berrange
Coverity pointed out the 'date' is not free()d in the error path
Signed-off-by Daniel P. Berrange <[email protected]>--- io/channel-websock.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
Reviewed-by Eric Blake <[email protected]>
Quoted 23 lines
io/channel-websock.c +2
-1@@ -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