Skip to content

Commit 0caa181

Browse files
committed
Add libxml2 bug workaround
1 parent 41eec9d commit 0caa181

File tree

1 file changed

+6
-0
lines changed

1 file changed

+6
-0
lines changed

ext/dom/php_dom.c

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,12 @@ static void dom_update_refcount_after_clone(dom_object *original, xmlNodePtr ori
498498
php_libxml_increment_node_ptr((php_libxml_node_object *)clone, cloned_node, (void *)clone);
499499
if (original->document != clone->document) {
500500
dom_copy_doc_props(original->document, clone->document);
501+
/* Workaround libxml2 bug, see https://gitlab.gnome.org/GNOME/libxml2/-/commit/07920b4381873187c02df53fa9b5d44aff3a7041 */
502+
#if LIBXML_VERSION < 20911
503+
if (original_node->type == XML_HTML_DOCUMENT_NODE) {
504+
cloned_node->type = XML_HTML_DOCUMENT_NODE;
505+
}
506+
#endif
501507
}
502508
}
503509

0 commit comments

Comments
 (0)