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 <jtomko(a)redhat.com>
---
src/conf/domain_conf.c | 3 +++
src/conf/virnetworkobj.c | 3 +++
2 files changed, 6 insertions(+)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 6ca604a60b..50763d9514 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -30264,6 +30264,9 @@ virDomainDefSetMetadata(virDomainDef *def,
return -1;
}
new = NULL;
+ } else if (!xmlFirstElementChild(def->metadata)) {
+ xmlFreeNode(def->metadata);
+ def->metadata = NULL;
}
break;
diff --git a/src/conf/virnetworkobj.c b/src/conf/virnetworkobj.c
index 7d4566bdf1..c908c61e67 100644
--- a/src/conf/virnetworkobj.c
+++ b/src/conf/virnetworkobj.c
@@ -2117,6 +2117,9 @@ virNetworkDefSetMetadata(virNetworkDef *def,
return -1;
}
new = NULL;
+ } else if (!xmlFirstElementChild(def->metadata)) {
+ xmlFreeNode(def->metadata);
+ def->metadata = NULL;
}
break;
--
2.48.1