On 2/20/25 22:59, Ján Tomko wrote: > 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@xxxxxxxxxx> > --- > 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; > Alternatively: g_clear_pointer(&def->metadata, xmlFreeNode); Michal