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

John Ferlan jferlan at redhat.com
Wed Feb 20 15:52:52 UTC 2019



On 2/20/19 10:42 AM, Ján Tomko wrote:
> 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'.
> 

Coverity whined, but I can drop this one and just keep local Coverity
happy.  If someday someone extracts this out and it's a problem, then
they can fix it then.

John

> 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




More information about the libvir-list mailing list