[libvirt] [PATCH] cpu: Fix memory leaks in x86FeatureLoad and x86ModelLoad

Daniel Veillard veillard at redhat.com
Tue Dec 22 11:31:51 UTC 2009


On Tue, Dec 22, 2009 at 12:08:43PM +0100, Jiri Denemark wrote:
> > > diff --git a/src/cpu/cpu_x86.c b/src/cpu/cpu_x86.c
> > > index af0a65b..7c50261 100644
> > > --- a/src/cpu/cpu_x86.c
> > > +++ b/src/cpu/cpu_x86.c
> > > @@ -274,6 +274,7 @@ x86FeatureLoad(xmlXPathContextPtr ctxt,
> > >  {
> > >      struct x86_map *map = data;
> > >      xmlNodePtr *nodes = NULL;
> > > +    xmlNodePtr ctxt_node = ctxt->node;
> > >      struct x86_feature *feature = NULL;
> > >      int ret = 0;
> > >      int i;
> > > @@ -340,6 +341,9 @@ x86FeatureLoad(xmlXPathContextPtr ctxt,
> > >      }
> > >  
> > >  out:
> > > +    ctxt->node = ctxt_node;
> > > +    VIR_FREE(nodes);
> > > +
> > >      return ret;
> > 
> >   ah, right we are changing ctxt->node there, good catch !
> 
> Although this function is expected to change ctxt->node so the caller sets it
> to its original value after x86FeatureLoad returns. But this can't hurt.

  So far we are trying to keep this preserved by function calls, this
is way easier to track.

Daniel

-- 
Daniel Veillard      | libxml Gnome XML XSLT toolkit  http://xmlsoft.org/
daniel at veillard.com  | Rpmfind RPM search engine http://rpmfind.net/
http://veillard.com/ | virtualization library  http://libvirt.org/




More information about the libvir-list mailing list