All of the properties use '-1' as default and the code omits formatting them when the property is '-1'. Additionally subsequent validation code rejects all other negative values anyways. Since we've never formatted '-1' into an XML formatted by libvirt we can make the parser more strict, as we will never fail to parse existing on-disk libvirt-owned XMLs. Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=2121627 Signed-off-by: Peter Krempa <pkrempa@xxxxxxxxxx> --- src/conf/domain_conf.c | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index a4384f9d13..65afebbfde 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -8205,22 +8205,22 @@ virDomainControllerDefParseXML(virDomainXMLOption *xmlopt, if (ntargetNodes == 1) { if (def->type == VIR_DOMAIN_CONTROLLER_TYPE_PCI) { - if (virXMLPropInt(targetNodes[0], "chassisNr", 0, VIR_XML_PROP_NONE, + if (virXMLPropInt(targetNodes[0], "chassisNr", 0, VIR_XML_PROP_NONNEGATIVE, &def->opts.pciopts.chassisNr, def->opts.pciopts.chassisNr) < 0) return NULL; - if (virXMLPropInt(targetNodes[0], "chassis", 0, VIR_XML_PROP_NONE, + if (virXMLPropInt(targetNodes[0], "chassis", 0, VIR_XML_PROP_NONNEGATIVE, &def->opts.pciopts.chassis, def->opts.pciopts.chassis) < 0) return NULL; - if (virXMLPropInt(targetNodes[0], "port", 0, VIR_XML_PROP_NONE, + if (virXMLPropInt(targetNodes[0], "port", 0, VIR_XML_PROP_NONNEGATIVE, &def->opts.pciopts.port, def->opts.pciopts.port) < 0) return NULL; - if (virXMLPropInt(targetNodes[0], "busNr", 0, VIR_XML_PROP_NONE, + if (virXMLPropInt(targetNodes[0], "busNr", 0, VIR_XML_PROP_NONNEGATIVE, &def->opts.pciopts.busNr, def->opts.pciopts.busNr) < 0) return NULL; -- 2.37.1