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

[libvirt] [PATCH] Maintain value of ctxt->node in virInterfaceDefParseDhcp.



This was causing subsequent calls to virXPathxxx() to fail, since
ctxt->node was left pointing at the dhcp node, rather than the
protocol node. Previously this had gone unnoticed, as the dhcp node
was the only thing parsed under ip, if it was there.
---
 src/conf/interface_conf.c |    3 +++
 1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/src/conf/interface_conf.c b/src/conf/interface_conf.c
index 632f28f..818cff2 100644
--- a/src/conf/interface_conf.c
+++ b/src/conf/interface_conf.c
@@ -229,10 +229,12 @@ virInterfaceDefParseBondArpValid(virConnectPtr conn, xmlXPathContextPtr ctxt) {
 static int
 virInterfaceDefParseDhcp(virConnectPtr conn, virInterfaceDefPtr def,
                          xmlNodePtr dhcp, xmlXPathContextPtr ctxt) {
+    xmlNodePtr save;
     char *tmp;
     int ret = 0;
 
     def->proto.dhcp = 1;
+    save = ctxt->node;
     ctxt->node = dhcp;
     /* Not much to do in the current version */
     tmp = virXPathString(conn, "string(./@peerdns)", ctxt);
@@ -250,6 +252,7 @@ virInterfaceDefParseDhcp(virConnectPtr conn, virInterfaceDefPtr def,
     } else
         def->proto.peerdns = -1;
 
+    ctxt->node = save;
     return(ret);
 }
 
-- 
1.6.2.5


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