From: Tobias Bengfort Date: Thu, 9 Oct 2025 07:39:59 +0000 (+0200) Subject: fix double free for libxml2 < 2.13 X-Git-Url: https://git.mdlowis.com/?a=commitdiff_plain;h=474c513ed6565df300b91e44d3ec77f9da5105c5;p=proto%2Flabwc.git fix double free for libxml2 < 2.13 xmlAddChild() only unlinks the second argument since libxml2 2.13. regression from 503af105 --- 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;