]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainCheckpointDefParse: Don't extract unused domain type
authorPeter Krempa <pkrempa@redhat.com>
Wed, 2 Dec 2020 13:29:30 +0000 (14:29 +0100)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 4 Dec 2020 15:15:03 +0000 (16:15 +0100)
We can extract './domain' directly and let the parser deal with the
type.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Daniel Henrique Barboza <danielhb413@gmail.com>
src/conf/checkpoint_conf.c

index 089488fbc66673cbfcb966c4411e727448c2cff7..697688cf8cf0574f5005e109e3c91cb4835895be 100644 (file)
@@ -126,7 +126,6 @@ virDomainCheckpointDefParse(xmlXPathContextPtr ctxt,
     virDomainCheckpointDefPtr ret = NULL;
     size_t i;
     int n;
-    char *tmp;
     g_autofree xmlNodePtr *nodes = NULL;
     g_autoptr(virDomainCheckpointDef) def = NULL;
 
@@ -146,6 +145,8 @@ virDomainCheckpointDefParse(xmlXPathContextPtr ctxt,
     def->parent.description = virXPathString("string(./description)", ctxt);
 
     if (flags & VIR_DOMAIN_CHECKPOINT_PARSE_REDEFINE) {
+        xmlNodePtr domainNode;
+
         if (virXPathLongLong("string(./creationTime)", ctxt,
                              &def->parent.creationTime) < 0) {
             virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
@@ -155,17 +156,10 @@ virDomainCheckpointDefParse(xmlXPathContextPtr ctxt,
 
         def->parent.parent_name = virXPathString("string(./parent/name)", ctxt);
 
-        if ((tmp = virXPathString("string(./domain/@type)", ctxt))) {
+        if ((domainNode = virXPathNode("./domain", ctxt))) {
             int domainflags = VIR_DOMAIN_DEF_PARSE_INACTIVE |
                               VIR_DOMAIN_DEF_PARSE_SKIP_VALIDATE;
-            xmlNodePtr domainNode = virXPathNode("./domain", ctxt);
 
-            VIR_FREE(tmp);
-            if (!domainNode) {
-                virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                               _("missing domain in checkpoint"));
-                return NULL;
-            }
             def->parent.dom = virDomainDefParseNode(ctxt->node->doc, domainNode,
                                                     xmlopt, parseOpaque,
                                                     domainflags);