From 9bcbc52ef19b75b6c078d6aa841510160e2f5a40 Mon Sep 17 00:00:00 2001 From: Jiri Denemark Date: Mon, 9 Sep 2019 22:35:10 +0200 Subject: [PATCH] conf: Add cleanup label to virDomainDefParse Signed-off-by: Jiri Denemark Reviewed-by: Michal Privoznik --- src/conf/domain_conf.c | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index 7f49c8253f..17ddebb575 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -21517,16 +21517,18 @@ virDomainDefParse(const char *xmlStr, void *parseOpaque, unsigned int flags) { - xmlDocPtr xml; + xmlDocPtr xml = NULL; virDomainDefPtr def = NULL; int keepBlanksDefault = xmlKeepBlanksDefault(0); - if ((xml = virXMLParse(filename, xmlStr, _("(domain_definition)")))) { - def = virDomainDefParseNode(xml, xmlDocGetRootElement(xml), caps, - xmlopt, parseOpaque, flags); - xmlFreeDoc(xml); - } + if (!(xml = virXMLParse(filename, xmlStr, _("(domain_definition)")))) + goto cleanup; + def = virDomainDefParseNode(xml, xmlDocGetRootElement(xml), caps, + xmlopt, parseOpaque, flags); + + cleanup: + xmlFreeDoc(xml); xmlKeepBlanksDefault(keepBlanksDefault); return def; }