From e9bf68848c93e1e324de895dd80e32ceadece9db Mon Sep 17 00:00:00 2001 From: Peter Krempa Date: Thu, 6 May 2021 15:07:04 +0200 Subject: [PATCH] virDomainVcpuParse: Assign default vcpus count based on return value of virXMLPropUInt Assign the vcpu count when virXMLPropUInt returns '0' meaning that the cpu count was not present in the XML. This will allow to always initialize the value of @result in virXMLPropUInt to prevent use of uninitialized values. Signed-off-by: Peter Krempa Reviewed-by: Michal Privoznik --- src/conf/domain_conf.c | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index f536630d72..a2dd7d649f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -18030,6 +18030,7 @@ virDomainVcpuParse(virDomainDef *def, unsigned int vcpus; g_autofree char *tmp = NULL; g_autofree xmlNodePtr *nodes = NULL; + int rc; vcpus = maxvcpus = 1; @@ -18044,10 +18045,11 @@ virDomainVcpuParse(virDomainDef *def, } VIR_FREE(tmp); - vcpus = maxvcpus; - - if (virXMLPropUInt(vcpuNode, "current", 10, VIR_XML_PROP_NONE, &vcpus) < 0) + if ((rc = virXMLPropUInt(vcpuNode, "current", 10, VIR_XML_PROP_NONE, &vcpus)) < 0) { return -1; + } else if (rc == 0) { + vcpus = maxvcpus; + } def->placement_mode = VIR_DOMAIN_CPU_PLACEMENT_MODE_STATIC; if (virXMLPropEnum(vcpuNode, "placement",