From a479c3465e4827f6c0b8897612d7862837b935fa Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A1n=20Tomko?= Date: Thu, 20 Feb 2025 22:50:06 +0100 Subject: [PATCH] conf: metadata: remove metadata node if all metadata is removed MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit When removing the last child element from a network or domain metadata, free the metadata node itself as well, to prevent displaying an empty metadata element. https://issues.redhat.com/browse/RHEL-27172 Signed-off-by: Ján Tomko Reviewed-by: Michal Privoznik --- src/conf/domain_conf.c | 2 ++ src/conf/virnetworkobj.c | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c index d2d35abb7b..430841ff5f 100644 --- a/src/conf/domain_conf.c +++ b/src/conf/domain_conf.c @@ -30252,6 +30252,8 @@ virDomainDefSetMetadata(virDomainDef *def, return -1; } new = NULL; + } else if (!xmlFirstElementChild(def->metadata)) { + g_clear_pointer(&def->metadata, xmlFreeNode); } break; diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c index 75e90c6365..29648d6a9c 100644 --- a/src/conf/virnetworkobj.c +++ b/src/conf/virnetworkobj.c @@ -2114,6 +2114,8 @@ virNetworkDefSetMetadata(virNetworkDef *def, return -1; } new = NULL; + } else if (!xmlFirstElementChild(def->metadata)) { + g_clear_pointer(&def->metadata, xmlFreeNode); } break; -- 2.47.3