Re: [PATCH] prevent free setting same cursor in worker in red_set_cursor

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, Aug 26, 2015 at 10:01:12AM -0400, Frediano Ziglio wrote:
> > 
> > On Fri, Aug 21, 2015 at 10:26:40AM +0100, Frediano Ziglio wrote:
> > > Currently caller don't call red_set_cursor with cursor in worker->cursor
> > > but in theory is possible.
> > > Doing so could cause the cursor to be freed and than reused as initially
> > > the reference counter is 1 so object is freed but then attempted to
> > > be used again.
> > 
> > I would say if the caller is doing that, then it should own a reference
> > to the cursor and not rely on the reference owned by 'something else'
> > (in this case RedWorker) to keep the object alive while it's being set.
> > 
> > Christophe
> > 
> 
> IMHO better safe than sorry anyway. In other reference counter usage I saw this
> problem. At the end the change costs nothing.

In a way, yes, but I still think that code trying to do that should have
its own reference (and worker->cursor should be private to control what
code can access it, and the getter API give a new ref to callers to
avoid this problem). I already know that any code I'm going to write is
always going to be free the existing member, and then duplicate the arg,
so we could change it here. Is this the only place in the whole code
base where this can happen?

Christophe

Attachment: pgpgef2vomFoE.pgp
Description: PGP signature

_______________________________________________
Spice-devel mailing list
Spice-devel@xxxxxxxxxxxxxxxxxxxxx
http://lists.freedesktop.org/mailman/listinfo/spice-devel

[Index of Archives]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]     [Monitors]