Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/conf/domain_conf.c | 50 +++++++++++++++++++++++++-----------------
1 file changed, 30 insertions(+), 20 deletions(-)
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;
}
--
2.26.3