]> git.mdlowis.com Git - proto/labwc.git/commitdiff
fix double free for libxml2 < 2.13
authorTobias Bengfort <tobias.bengfort@posteo.de>
Thu, 9 Oct 2025 07:39:59 +0000 (09:39 +0200)
committerHiroaki Yamamoto <hrak1529@gmail.com>
Thu, 9 Oct 2025 15:19:22 +0000 (00:19 +0900)
xmlAddChild() only unlinks the second argument since libxml2 2.13.

regression from 503af105

src/common/xml.c

index 7e089267982c5b75288d15be8b59ed4b0d3973e7..57c415ec54a351efa54950e856dbf1869b6feb4f 100644 (file)
@@ -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;