From 706d4f355907362e4e767736ec6d077fa0ca63b4 Mon Sep 17 00:00:00 2001 From: George Peter Banyard Date: Sat, 6 Jun 2020 15:02:17 +0200 Subject: [PATCH] Fix invalid usage of zend_bool in DOM extension --- ext/dom/document.c | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/ext/dom/document.c b/ext/dom/document.c index e355e0f134..89f6358775 100644 --- a/ext/dom/document.c +++ b/ext/dom/document.c @@ -805,6 +805,8 @@ PHP_METHOD(DOMDocument, importNode) dom_object *intern, *nodeobj; int ret; zend_bool recursive = 0; + /* See http://www.xmlsoft.org/html/libxml-tree.html#xmlDocCopyNode for meaning of values */ + int extended_recursive; id = ZEND_THIS; if (zend_parse_parameters(ZEND_NUM_ARGS(), "O|b", &node, dom_node_class_entry, &recursive) == FAILURE) { @@ -824,10 +826,11 @@ PHP_METHOD(DOMDocument, importNode) if (nodep->doc == docp) { retnodep = nodep; } else { + extended_recursive = recursive; if ((recursive == 0) && (nodep->type == XML_ELEMENT_NODE)) { - recursive = 2; + extended_recursive = 2; } - retnodep = xmlDocCopyNode(nodep, docp, recursive); + retnodep = xmlDocCopyNode(nodep, docp, extended_recursive); if (!retnodep) { RETURN_FALSE; } -- 2.50.1