[libvirt] [PATCH] Only parse 'CPU XML' in virCPUDefParseXML()
Jiri Denemark
jdenemar at redhat.com
Thu Apr 1 09:16:33 UTC 2010
> commit 93d68602a9701dc6f6b4f4b20eaac7159c8d3be7
> Author: Jim Fehlig <jfehlig at novell.com>
> Date: Wed Mar 31 17:02:57 2010 -0600
>
> Only parse 'CPU XML' in virCPUDefParseXML()
>
> Received report of user crashing libvirtd with
>
> virsh capabilities > capabilities.xml
> virsh cpu-compare capabilities.xml
>
> While user has been informed about proper usage of cpu-compare,
> segfaulting libvirt should be avoided.
>
> Do not parse CPU definition in virCPUDefParseXML() if XML is not
> a 'cpu' node.
>
> diff --git a/src/conf/cpu_conf.c b/src/conf/cpu_conf.c
> index cf91930..c51ac4e 100644
> --- a/src/conf/cpu_conf.c
> +++ b/src/conf/cpu_conf.c
> @@ -115,6 +115,13 @@ virCPUDefParseXML(const xmlNodePtr node,
> int n;
> unsigned int i;
>
> + if (!xmlStrEqual(node->name, BAD_CAST "cpu")) {
> + virCPUReportError(VIR_ERR_INTERNAL_ERROR,
> + "%s",
> + _("XML does not contain expected 'cpu' element"));
> + return NULL;
> + }
> +
> if (VIR_ALLOC(def) < 0) {
> virReportOOMError();
> return NULL;
Sure that makes perfect sense. Thanks for the fix. ACK.
Jirka
More information about the libvir-list
mailing list