From 55e6d8cd9eac7eb2aaa4d221585e9402cf7269d5 Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A1n=20Tomko?= Date: Thu, 11 Feb 2016 10:55:07 +0100 Subject: [PATCH] Error out on missing machine type in machine configs 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 | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 0d2957b69c..acd58a1b61 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -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 */ -- 2.39.5