diff options
author | Christoph M. Becker <cmbecker69@gmx.de> | 2020-02-17 09:09:12 +0100 |
---|---|---|
committer | Christoph M. Becker <cmbecker69@gmx.de> | 2020-02-17 09:09:30 +0100 |
commit | 73a4c50309b24fc6232299ee14a76249c63c7b5c (patch) | |
tree | f1ab3c1b2aaee64543e025cc8f9bf0fd789c2c03 | |
parent | 8ec76366d00c4158ebe1cbcbbf867f069fbaff28 (diff) | |
parent | 09669411309b5c18c48b550d89b34e78983118cd (diff) | |
download | php-git-73a4c50309b24fc6232299ee14a76249c63c7b5c.tar.gz |
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3:
Fix #79271: DOMDocumentType::$childNodes is NULL
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ext/dom/node.c | 10 | ||||
-rw-r--r-- | ext/dom/tests/bug69846.phpt | 4 | ||||
-rw-r--r-- | ext/dom/tests/bug79271.phpt | 17 |
4 files changed, 23 insertions, 9 deletions
@@ -20,6 +20,7 @@ PHP NEWS - DOM: . Fixed bug #77569: (Write Access Violation in DomImplementation). (Nikita, cmb) + . Fixed bug #79271 (DOMDocumentType::$childNodes is NULL). (cmb) - PCRE: . Fixed bug #79188 (Memory corruption in preg_replace/preg_replace_callback diff --git a/ext/dom/node.c b/ext/dom/node.c index 609d1a6116..72f0b9337d 100644 --- a/ext/dom/node.c +++ b/ext/dom/node.c @@ -431,13 +431,9 @@ int dom_node_child_nodes_read(dom_object *obj, zval *retval) return FAILURE; } - if (dom_node_children_valid(nodep) == FAILURE) { - ZVAL_NULL(retval); - } else { - php_dom_create_interator(retval, DOM_NODELIST); - intern = Z_DOMOBJ_P(retval); - dom_namednode_iter(obj, XML_ELEMENT_NODE, intern, NULL, NULL, NULL); - } + php_dom_create_interator(retval, DOM_NODELIST); + intern = Z_DOMOBJ_P(retval); + dom_namednode_iter(obj, XML_ELEMENT_NODE, intern, NULL, NULL, NULL); return SUCCESS; } diff --git a/ext/dom/tests/bug69846.phpt b/ext/dom/tests/bug69846.phpt index fcca4c06d6..74662d53f6 100644 --- a/ext/dom/tests/bug69846.phpt +++ b/ext/dom/tests/bug69846.phpt @@ -50,7 +50,7 @@ object(DOMText)#%d (19) { ["parentNode"]=> NULL ["childNodes"]=> - NULL + string(22) "(object value omitted)" ["firstChild"]=> NULL ["lastChild"]=> @@ -140,7 +140,7 @@ object(DOMText)#%d (19) { ["parentNode"]=> NULL ["childNodes"]=> - NULL + string(22) "(object value omitted)" ["firstChild"]=> NULL ["lastChild"]=> diff --git a/ext/dom/tests/bug79271.phpt b/ext/dom/tests/bug79271.phpt new file mode 100644 index 0000000000..c0ef07bd61 --- /dev/null +++ b/ext/dom/tests/bug79271.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #79271 (DOMDocumentType::$childNodes is NULL) +--SKIPIF-- +<?php +if (!extension_loaded('dom')) die('skip dom extension not available'); +?> +--FILE-- +<?php +$dom = new DOMImplementation(); +$type = $dom->createDocumentType('html'); +var_dump($type->childNodes); +?> +--EXPECTF-- +object(DOMNodeList)#%d (1) { + ["length"]=> + int(0) +} |