fix double free for libxml2 < 2.13

xmlAddChild() only unlinks the second argument since libxml2 2.13.

regression from 503af105
This commit is contained in:
Tobias Bengfort 2025-10-09 09:39:59 +02:00
parent c27d4955a4
commit ef596a5cd7

View 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;