]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: stronger error reporting when parsing audio related params
authorDaniel P. Berrangé <berrange@redhat.com>
Tue, 23 Feb 2021 18:54:53 +0000 (18:54 +0000)
committerDaniel P. Berrangé <berrange@redhat.com>
Tue, 9 Mar 2021 22:57:48 +0000 (22:57 +0000)
Check for varuous mandatory elements and improve error message
clarity

Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
Signed-off-by: Daniel P. Berrangé <berrange@redhat.com>
src/conf/domain_conf.c

index 4da2b7642bb33319ff7a60d1c551d2553c348e00..2ed6ac33a458b2ec233a6e14df5e8fdc65496774 100644 (file)
@@ -13804,6 +13804,11 @@ virDomainSoundDefParseXML(virDomainXMLOptionPtr xmlopt,
     if (audioNode) {
         g_autofree char *tmp = NULL;
         tmp = virXMLPropString(audioNode, "id");
+        if (!tmp) {
+            virReportError(VIR_ERR_XML_ERROR, "%s",
+                           _("missing audio 'id' attribute"));
+            goto error;
+        }
         if (virStrToLong_ui(tmp, NULL, 10, &def->audioId) < 0 ||
             def->audioId == 0) {
             virReportError(VIR_ERR_XML_ERROR,
@@ -13877,6 +13882,12 @@ virDomainAudioDefParseXML(virDomainXMLOptionPtr xmlopt G_GNUC_UNUSED,
     ctxt->node = node;
 
     type = virXMLPropString(node, "type");
+    if (!type) {
+        virReportError(VIR_ERR_XML_ERROR, "%s",
+                       _("missing audio 'type' attribute"));
+        goto error;
+    }
+
     if ((def->type = virDomainAudioTypeTypeFromString(type)) < 0) {
         virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
                        _("unknown audio type '%s'"), type);
@@ -13884,6 +13895,11 @@ virDomainAudioDefParseXML(virDomainXMLOptionPtr xmlopt G_GNUC_UNUSED,
     }
 
     tmp = virXMLPropString(node, "id");
+    if (!tmp) {
+        virReportError(VIR_ERR_CONFIG_UNSUPPORTED, "%s",
+                       _("missing audio 'id' attribute"));
+        goto error;
+    }
     if (virStrToLong_ui(tmp, NULL, 10, &def->id) < 0 ||
         def->id == 0) {
         virReportError(VIR_ERR_XML_ERROR,