[libvirt] [PATCH 3/4] conf: Fix XML ctxt swap in virDomainNetDefParseXML

Ján Tomko jtomko at redhat.com
Wed Feb 20 15:42:07 UTC 2019


On Wed, Feb 20, 2019 at 09:46:58AM -0500, John Ferlan wrote:
>Alter the logic to return @tmpnode to ctxt->node in both the error
>and non-error path when calling virDomainNetIPInfoParseXML.
>

What is the motivation here?

On error, ctxt->node will be restored anyway to 'oldnode'.

Jano

>Signed-off-by: John Ferlan <jferlan at redhat.com>
>---
> src/conf/domain_conf.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
>diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
>index ddcb76f05d..d550b467f7 100644
>--- a/src/conf/domain_conf.c
>+++ b/src/conf/domain_conf.c
>@@ -11356,10 +11356,11 @@ virDomainNetDefParseXML(virDomainXMLOptionPtr xmlopt,
>                 xmlNodePtr tmpnode = ctxt->node;
>
>                 ctxt->node = cur;
>-                if (virDomainNetIPInfoParseXML(_("interface host IP"),
>-                                               ctxt, &def->hostIP) < 0)
>-                    goto error;
>+                rv = virDomainNetIPInfoParseXML(_("interface host IP"),
>+                                                ctxt, &def->hostIP);
>                 ctxt->node = tmpnode;
>+                if (rv < 0)
>+                    goto error;
>             }
>             if (!macaddr && virXMLNodeNameEqual(cur, "mac")) {
>                 macaddr = virXMLPropString(cur, "address");
>-- 
>2.20.1
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20190220/9c561ab6/attachment-0001.sig>


More information about the libvir-list mailing list