]> granicus.if.org Git - php/commitdiff
MFB: Fixed bug #38438 (DOMNodeList->item(0) segfault on empty NodeList)
authorIlia Alshanetsky <iliaa@php.net>
Sun, 13 Aug 2006 15:03:19 +0000 (15:03 +0000)
committerIlia Alshanetsky <iliaa@php.net>
Sun, 13 Aug 2006 15:03:19 +0000 (15:03 +0000)
ext/dom/nodelist.c
ext/dom/tests/bug38438.phpt [new file with mode: 0644]

index 8989f907ad9e9af5d5dce4b273432fcb266a0023..268879bc1655ab1954f383f78f7d3fcb67fb8270 100644 (file)
@@ -134,7 +134,7 @@ PHP_FUNCTION(dom_nodelist_item)
                                                zval_copy_ctor(return_value);
                                                return;
                                        }
-                               } else {
+                               } else if (objmap->baseobj) {
                                        nodep = dom_object_get_node(objmap->baseobj);
                                        if (nodep) {
                                                if (objmap->nodetype == XML_ATTRIBUTE_NODE || objmap->nodetype == XML_ELEMENT_NODE) {
diff --git a/ext/dom/tests/bug38438.phpt b/ext/dom/tests/bug38438.phpt
new file mode 100644 (file)
index 0000000..f512528
--- /dev/null
@@ -0,0 +1,13 @@
+--TEST--
+Bug #38438 (DOMNodeList->item(0) segfault on empty NodeList)
+--SKIPIF--
+<?php require_once('skipif.inc'); ?>
+--FILE--
+<?php
+$list = new DOMNodeList();
+var_dump($list->item(0));
+echo "OK\n";
+?>
+--EXPECT--
+NULL
+OK