]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: metadata: ignore empty metadata element
authorJán Tomko <jtomko@redhat.com>
Thu, 20 Feb 2025 21:48:40 +0000 (22:48 +0100)
committerJán Tomko <jtomko@redhat.com>
Mon, 3 Mar 2025 15:17:34 +0000 (16:17 +0100)
Do not copy the <metadata> node to domain/network definition
if its empty.

Signed-off-by: Ján Tomko <jtomko@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/domain_conf.c
src/conf/network_conf.c

index 206b0480ca962cee1ca764131a70e40e3dde4e70..d2d35abb7b0940fa5628ab3f7280d45a4436952e 100644 (file)
@@ -19855,8 +19855,10 @@ virDomainDefParseXML(xmlXPathContextPtr ctxt,
         return NULL;
 
     /* Extract custom metadata */
-    if ((node = virXPathNode("./metadata[1]", ctxt)) != NULL)
+    if ((node = virXPathNode("./metadata[1]", ctxt)) != NULL &&
+        xmlFirstElementChild(node)) {
         def->metadata = xmlCopyNode(node, 1);
+    }
 
     /* we have to make a copy of all of the callback pointers here since
      * we won't have the virCaps structure available during free
index 316a84502dd4bf99ce2df79e4f43ed9b5ae0566a..8cd26de72f479767e12dca3a1ecef1926e96e72a 100644 (file)
@@ -1898,7 +1898,8 @@ virNetworkDefParseXML(xmlXPathContextPtr ctxt,
     }
 
     /* Extract custom metadata */
-    if ((metadataNode = virXPathNode("./metadata[1]", ctxt)) != NULL) {
+    if ((metadataNode = virXPathNode("./metadata[1]", ctxt)) != NULL &&
+        xmlFirstElementChild(metadataNode)) {
         def->metadata = xmlCopyNode(metadataNode, 1);
         virXMLNodeSanitizeNamespaces(def->metadata);
     }