summaryrefslogtreecommitdiff
path: root/ext/dom
diff options
context:
space:
mode:
Diffstat (limited to 'ext/dom')
-rw-r--r--ext/dom/node.c10
-rw-r--r--ext/dom/tests/bug69846.phpt4
-rw-r--r--ext/dom/tests/bug79271.phpt17
3 files changed, 22 insertions, 9 deletions
diff --git a/ext/dom/node.c b/ext/dom/node.c
index 0e7f64a9bd..7d939bcde1 100644
--- a/ext/dom/node.c
+++ b/ext/dom/node.c
@@ -428,13 +428,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)
+}