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@xxxxxxxxxxxx | Rpmfind RPM search engine http://rpmfind.net/ http://veillard.com/ | virtualization library http://libvirt.org/ -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list