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(a)veillard.com | Rpmfind RPM search engine
http://rpmfind.net/
http://veillard.com/ | virtualization library
http://libvirt.org/