[Spice-devel] [PATCH spice-server 1/9] reds: Use GLib memory functions for RedVDIReadBuf

Frediano Ziglio fziglio at redhat.com
Tue Dec 5 09:14:10 UTC 2017


> 
> Hi,
> 
> On Tue, Dec 05, 2017 at 08:41:04AM +0000, Frediano Ziglio wrote:
> > Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> 
> > ---
> >  server/reds.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> > 
> > diff --git a/server/reds.c b/server/reds.c
> > index 64b3a967..4e652253 100644
> > --- a/server/reds.c
> > +++ b/server/reds.c
> > @@ -4519,7 +4519,7 @@ red_char_device_vdi_port_init(RedCharDeviceVDIPort
> > *self)
> >      self->priv->receive_len = sizeof(self->priv->vdi_chunk_header);
> >  
> >      for (i = 0; i < REDS_VDI_PORT_NUM_RECEIVE_BUFFS; i++) {
> > -        RedVDIReadBuf *buf = spice_new0(RedVDIReadBuf, 1);
> > +        RedVDIReadBuf *buf = g_new0(RedVDIReadBuf, 1);
> 
> Yes, last one in server
> Acked-by: Victor Toso <victortoso at redhat.com>
> 

Yes, this was my last patch in my glib_memory branch (beside other OT
ones).
Note that surely this identify a leak which was not detected by either
Valgrind nor ASan. Looks like the circular pointers
Agent -> RedVDIReadBuf -> Agent made these tools believe there was
no leak :-(
(I think I spent half an hours of compiling and testing to understand
this).

> >          vdi_read_buf_init(buf);
> >          buf->dev = self;
> >          g_warn_if_fail(!self->priv->agent_attached);

Frediano


More information about the Spice-devel mailing list