[Spice-devel] [PATCH spice-common] marshaller: Fix a possible leak

Jonathon Jongsma jjongsma at redhat.com
Wed Jun 27 19:53:37 UTC 2018


Acked-by: Jonathon Jongsma <jjongsma at redhat.com>


On Wed, 2018-06-27 at 17:35 +0100, Frediano Ziglio wrote:
> The possible file descriptor associated to the message (currently
> can be only the DRM descriptor from Virgl) is not freed in case
> the marshaller is reset/destroyed.
> This can happen connecting/disconnecting client.
> 
> Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> ---
>  common/marshaller.c | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/common/marshaller.c b/common/marshaller.c
> index b55b568..0b45523 100644
> --- a/common/marshaller.c
> +++ b/common/marshaller.c
> @@ -210,6 +210,12 @@ void spice_marshaller_reset(SpiceMarshaller *m)
>      m->next = NULL;
>      m->n_items = 0;
>      m->total_size = 0;
> +    if (m->has_fd) {
> +        m->has_fd = false;
> +        if (m->fd != -1) {
> +            close(m->fd);
> +        }
> +    }
>  
>      d = m->data;
>      d->last_marshaller = d->marshallers;


More information about the Spice-devel mailing list