From: Tim Wiederhake Date: Wed, 19 May 2021 14:10:07 +0000 (+0200) Subject: virDomainAudioDefParseXML: Don't ignore return value of virDomainAudio*Parse() X-Git-Tag: v7.4.0-rc1~80 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=5ad6db604a607ef5c556a0cf7d760d93e24e04f8;p=thirdparty%2Flibvirt.git virDomainAudioDefParseXML: Don't ignore return value of virDomainAudio*Parse() Signed-off-by: Tim Wiederhake Reviewed-by: Michal Privoznik --- diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 2142e45fd5..1350c46039 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -13155,17 +13155,21 @@ virDomainAudioDefParseXML(virDomainXMLOption *xmlopt G_GNUC_UNUSED, break; case VIR_DOMAIN_AUDIO_TYPE_COREAUDIO: - if (inputNode) - virDomainAudioCoreAudioParse(&def->backend.coreaudio.input, inputNode); - if (outputNode) - virDomainAudioCoreAudioParse(&def->backend.coreaudio.output, outputNode); + if (inputNode && + virDomainAudioCoreAudioParse(&def->backend.coreaudio.input, inputNode) < 0) + goto error; + if (outputNode && + virDomainAudioCoreAudioParse(&def->backend.coreaudio.output, outputNode) < 0) + goto error; break; case VIR_DOMAIN_AUDIO_TYPE_JACK: - if (inputNode) - virDomainAudioJackParse(&def->backend.jack.input, inputNode); - if (outputNode) - virDomainAudioJackParse(&def->backend.jack.output, outputNode); + if (inputNode && + virDomainAudioJackParse(&def->backend.jack.input, inputNode) < 0) + goto error; + if (outputNode && + virDomainAudioJackParse(&def->backend.jack.output, outputNode) < 0) + goto error; break; case VIR_DOMAIN_AUDIO_TYPE_OSS: { @@ -13193,20 +13197,24 @@ virDomainAudioDefParseXML(virDomainXMLOption *xmlopt G_GNUC_UNUSED, def->backend.oss.dspPolicySet = true; } - if (inputNode) - virDomainAudioOSSParse(&def->backend.oss.input, inputNode); - if (outputNode) - virDomainAudioOSSParse(&def->backend.oss.output, outputNode); + if (inputNode && + virDomainAudioOSSParse(&def->backend.oss.input, inputNode) < 0) + goto error; + if (outputNode && + virDomainAudioOSSParse(&def->backend.oss.output, outputNode) < 0) + goto error; break; } case VIR_DOMAIN_AUDIO_TYPE_PULSEAUDIO: def->backend.pulseaudio.serverName = virXMLPropString(node, "serverName"); - if (inputNode) - virDomainAudioPulseAudioParse(&def->backend.pulseaudio.input, inputNode); - if (outputNode) - virDomainAudioPulseAudioParse(&def->backend.pulseaudio.output, outputNode); + if (inputNode && + virDomainAudioPulseAudioParse(&def->backend.pulseaudio.input, inputNode) < 0) + goto error; + if (outputNode && + virDomainAudioPulseAudioParse(&def->backend.pulseaudio.output, outputNode) < 0) + goto error; break; case VIR_DOMAIN_AUDIO_TYPE_SDL: { @@ -13214,10 +13222,12 @@ virDomainAudioDefParseXML(virDomainXMLOption *xmlopt G_GNUC_UNUSED, VIR_XML_PROP_NONZERO, &def->backend.sdl.driver) < 0) goto error; - if (inputNode) - virDomainAudioSDLParse(&def->backend.sdl.input, inputNode); - if (outputNode) - virDomainAudioSDLParse(&def->backend.sdl.output, outputNode); + if (inputNode && + virDomainAudioSDLParse(&def->backend.sdl.input, inputNode) < 0) + goto error; + if (outputNode && + virDomainAudioSDLParse(&def->backend.sdl.output, outputNode) < 0) + goto error; break; }