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 committed by Hiroaki Yamamoto
parent c27d4955a4
commit 474c513ed6

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;