--- src/conf/domain_conf.c | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index c2c7057..7f9c178 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -2491,8 +2491,7 @@ virDomainNetDefParseXML(virCapsPtr caps, xmlNodePtr oldnode = ctxt->node; int ret; - if ((VIR_ALLOC(def) < 0) || - (VIR_ALLOC_N(def->mac,VIR_MAC_BUFLEN) < 0)) { + if (VIR_ALLOC(def) < 0) { virReportOOMError(); return NULL; } @@ -2588,6 +2587,12 @@ virDomainNetDefParseXML(virCapsPtr caps, cur = cur->next; } + if ((macaddr || !(flags & VIR_DOMAIN_PARSE_NO_GENERATE)) && + (VIR_ALLOC_N(def->mac, VIR_MAC_BUFLEN) < 0)) { + virReportOOMError(); + goto error; + } + if (macaddr) { if (virParseMacAddr((const char *)macaddr, def->mac) < 0) { virDomainReportError(VIR_ERR_INTERNAL_ERROR, @@ -2595,7 +2600,7 @@ virDomainNetDefParseXML(virCapsPtr caps, (const char *)macaddr); goto error; } - } else { + } else if (!(flags & VIR_DOMAIN_PARSE_NO_GENERATE)) { virCapabilitiesGenerateMac(caps, def->mac); } -- 1.7.4 -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list