diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index e3e0f637d5..19b4d95150 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -10829,12 +10829,16 @@ virDomainShmemDefParseXML(xmlNodePtr node, } VIR_FREE(tmp); - if ((tmp = virXMLPropString(msi, "ioeventfd")) && - (def->msi.ioeventfd = virTristateSwitchTypeFromString(tmp)) <= 0) { - virReportError(VIR_ERR_XML_ERROR, - _("invalid msi ioeventfd setting for shmem: '%s'"), - tmp); - goto cleanup; + if ((tmp = virXMLPropString(msi, "ioeventfd"))) { + int val; + + if ((val = virTristateSwitchTypeFromString(tmp)) <= 0) { + virReportError(VIR_ERR_XML_ERROR, + _("invalid msi ioeventfd setting for shmem: '%s'"), + tmp); + goto cleanup; + } + def->msi.ioeventfd = val; } VIR_FREE(tmp); }