From 474c513ed6565df300b91e44d3ec77f9da5105c5 Mon Sep 17 00:00:00 2001 From: Tobias Bengfort Date: Thu, 9 Oct 2025 09:39:59 +0200 Subject: [PATCH] fix double free for libxml2 < 2.13 xmlAddChild() only unlinks the second argument since libxml2 2.13. regression from 503af105 --- src/common/xml.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/common/xml.c b/src/common/xml.c index 7e089267..57c415ec 100644 --- a/src/common/xml.c +++ b/src/common/xml.c @@ -79,7 +79,8 @@ merge_two_trees(xmlNode *dst, xmlNode *src) && !strcasecmp((char *)dst->name, (char *)src->name)) { xmlNode *next_dst = dst->last; xmlNode *next_src = src->children; - xmlAddChild(dst, src->children); + xmlUnlinkNode(next_src); + xmlAddChild(dst, next_src); xmlUnlinkNode(src); xmlFreeNode(src); src = next_src; -- 2.52.0