Re: [scaffold] don't crash on exit



Ok, thanks Aurelien.  I'll change that and resubmit the patch.

--
J5

On Mon, 2003-12-29 at 06:07, aurelien resus univ-mrs fr wrote:
> Le dim 28/12/2003 à 05:08, John (J5) Palmieri a écrit :
> > Aurelien,
> >  
> > I have been going through your patches.  The gnome-session patch which
> > you say free's the doc variable too soon does not make sense to me.  I
> > have worked on the code previously.  Basicly it looks like it is
> > correctly reading the XML file, parsing it and populating a hash.  The
> > pointer to the XML stucture is then freed with xmlFreeDoc.  This is the
> > correct behavior as the doc should not be accessed after that. 
> > 
> > Your patch holds onto the XML doc structure until the session object is
> > destroyed (which is on exit).  Right now it is not much of a problem and
> > may fix the crash but since unknown plugins can create arbitrarily long
> > session groups there is a remote chance of quite a bit of memory being
> > waisted (groups are arbitrary XML structures that are not parsed by the
> > session manager and are instead passed directly to the plugin that
> > created the group).
> > 
> > Please identify the line where the crash is happening and how it is
> > related to the in memory XML structure (e.g. the doc variable).
> 
> I'm not on my computer for now so I don't have the source and quite a few
> time...
> so here is a quick answer : in fact the doc is accessed inside xmlNodeFree call,
> so if you prefer freeing the doc immediatly, you have to set the 'doc' element
> of the node to NULL. Like that xmlNodeFree won't try to use it.
> If you have time to do that that's perfect, otherwise I'll resend this patch
> after hollidays perhaps with some others :)
> 
> > On Sun, 2003-12-21 at 06:42, aurelien naldi wrote:
> > > hello,
> > > 
> > > the attached patch prevents scaffold from crashing on exit and remove an
> > > unused variable.
> > > 
> > > a xmlDoc was freed too early and its memory reused.
> > > 
> > > happy hollidays to all :)




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