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