]> xenbits.xensource.com Git - libvirt.git/commitdiff
Error out on missing machine type in machine configs
authorJán Tomko <jtomko@redhat.com>
Thu, 11 Feb 2016 09:55:07 +0000 (10:55 +0100)
committerJán Tomko <jtomko@redhat.com>
Thu, 18 Feb 2016 15:19:39 +0000 (16:19 +0100)
Commit f1a89a8 allowed parsing configs from /etc/libvirt
without validating the emulator capabilities.

Check for the presence of os->type.machine even if the
VIR_DOMAIN_DEF_PARSE_SKIP_OSTYPE_CHECKS flag is set,
otherwise the daemon can crash on carelessly crafted input
in the config directory.

https://bugzilla.redhat.com/show_bug.cgi?id=1267256

src/conf/domain_conf.c

index 0d2957b69c5f147d90ec55e7f381bdc248b544dc..acd58a1b6175a6d30866ad72486a978f4c858c01 100644 (file)
@@ -14841,6 +14841,12 @@ virDomainDefParseXML(xmlDocPtr xml,
             goto error;
         }
         VIR_FREE(capsdata);
+    } else {
+        if (!def->os.machine) {
+            virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
+                           _("Missing machine type"));
+            goto error;
+        }
     }
 
     /* Extract domain name */