From: Michal Privoznik Date: Fri, 29 Jun 2018 14:48:55 +0000 (+0200) Subject: qemuDomainDeviceDefValidateNetwork: Check for range only if IP prefix set X-Git-Tag: v4.6.0-rc1~345 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=a6fbbce73e2965edde45ece7c034e4b39bb8405d;p=thirdparty%2Flibvirt.git qemuDomainDeviceDefValidateNetwork: Check for range only if IP prefix set https://bugzilla.redhat.com/show_bug.cgi?id=1515533 The @prefix attribute to element for interface type user is optional. Therefore, if left out it has value of zero in which case we should not check whether it falls into <4, 27> range. Otherwise we fail parsing domain XML for no good reason. Broken by commit b62b8090b2ad4524a5bf9d40d0d1c17a9d57f5a0. Signed-off-by: Michal Privoznik --- diff --git a/src/qemu/qemu_domain.c b/src/qemu/qemu_domain.c index 4c15d5a36a..8c22b17c1f 100644 --- a/src/qemu/qemu_domain.c +++ b/src/qemu/qemu_domain.c @@ -4373,7 +4373,8 @@ qemuDomainDeviceDefValidateNetwork(const virDomainNetDef *net) } hasIPv4 = true; - if (ip->prefix < 4 || ip->prefix > 27) { + if (ip->prefix > 0 && + (ip->prefix < 4 || ip->prefix > 27)) { virReportError(VIR_ERR_XML_ERROR, "%s", _("invalid prefix, must be in range of 4-27")); return -1;