Compilers aren't able to see that the value passed via a pointer from the new virXMLProp helpers may be uninitialized in certain cases. Fix 3 such cases, prepare the code and then ensure that the new virXMLProp* helpers always initialize the memory. CI pipeline (once it finishes) can be viewed at: https://gitlab.com/pipo.sk/libvirt/-/pipelines/298562552 Peter Krempa (17): util: xml: Extract implementation of xml property -> enum parsing to a common helper virXMLPropULongLong: Always initialize @result virDomainVcpuParse: Assign default vcpus count based on return value of virXMLPropUInt virDomainDiskDefDriverParseXML: Fix usage of virXMLPropUInt virXMLPropUInt: Always initialize @result conf: Define autoptr func for virDomainIOThreadIDDef virDomainIOThreadIDDefParseXML: Refactor cleanup virXMLPropInt: Always initialize '@result' virDomainBackupDiskDefParseXML: Fill default backup state after parsing it virXMLPropTristateBool: Always initialize '@result' conf: domain: Don't initialize virTristateBool local variables used for virXMLPropTristateBool virXMLPropTristateSwitch: Always initialize '@result' virDomainAudioCommonParse: Fix parsing of 'format' virDomainVideoDefParseXML: Fix parsing of 'backend' util: xml: Introduce virXMLPropEnumDefault conf: domain: Convert virXMLPropEnum to virXMLPropEnumDefault where we set defaults virXMLPropEnum: Always initialize '@result' src/conf/backup_conf.c | 5 +- src/conf/domain_conf.c | 176 ++++++++++++++++++++------------------- src/conf/domain_conf.h | 1 + src/libvirt_private.syms | 1 + src/util/virxml.c | 156 +++++++++++++++++++--------------- src/util/virxml.h | 14 +++- 6 files changed, 198 insertions(+), 155 deletions(-) -- 2.30.2