Message ID | 20171012132546.1741-1-berrange@redhat.com |
---|---|
State | New |
Headers | show |
Series | [v2] io: fix mem leak in websock error path | expand |
On 10/12/2017 08:25 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 | 3 ++- > 1 file changed, 2 insertions(+), 1 deletion(-) Reviewed-by: Eric Blake <eblake@redhat.com> > > diff --git a/io/channel-websock.c b/io/channel-websock.c > index aa35ef3274..df2c3a9f99 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); > >
diff --git a/io/channel-websock.c b/io/channel-websock.c index aa35ef3274..df2c3a9f99 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);
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 | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)