[Spice-devel] [spice-server] channel: Fix leak in red_channel_remove_client
Frediano Ziglio
fziglio at redhat.com
Mon Sep 18 15:29:30 UTC 2017
>
> It was using g_list_remove_link() to remove an element from the
> RedChannel::clients list while it really meant to be using
> g_list_delete_link() which frees the memory associated with the link.
>
> Signed-off-by: Christophe Fergeau <cfergeau at redhat.com>
Acked-by: Frediano Ziglio <fziglio at redhat.com>
Looks like Valgrind finds leaks better than address sanitizer.
Frediano
> ---
> server/red-channel.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/server/red-channel.c b/server/red-channel.c
> index b4a92340f..b5094829e 100644
> --- a/server/red-channel.c
> +++ b/server/red-channel.c
> @@ -477,7 +477,7 @@ void red_channel_remove_client(RedChannel *channel,
> RedChannelClient *rcc)
> link = g_list_find(channel->priv->clients, rcc);
> spice_return_if_fail(link != NULL);
>
> - channel->priv->clients = g_list_remove_link(channel->priv->clients,
> link);
> + channel->priv->clients = g_list_delete_link(channel->priv->clients,
> link);
> // TODO: should we set rcc->channel to NULL???
> }
>
More information about the Spice-devel
mailing list