Merge branch 'PHP-8.4'

* PHP-8.4:
  Fix GH-17500: Segfault with requesting nodeName on nameless doctype
This commit is contained in:
Niels Dossche 2025-01-17 19:37:19 +01:00
commit 5471f117c5
No known key found for this signature in database
GPG key ID: B8A8AD166DF0E2E5
2 changed files with 21 additions and 1 deletions

View file

@ -102,11 +102,17 @@ zend_result dom_node_node_name_read(dom_object *obj, zval *retval)
}
case XML_DOCUMENT_TYPE_NODE:
case XML_DTD_NODE:
if (nodep->name) {
ZVAL_STRING(retval, (const char *) nodep->name);
} else {
ZVAL_EMPTY_STRING(retval);
}
break;
case XML_PI_NODE:
case XML_ENTITY_DECL:
case XML_ENTITY_REF_NODE:
case XML_NOTATION_NODE:
ZVAL_STRING(retval, (char *) nodep->name);
ZVAL_STRING(retval, (const char *) nodep->name);
break;
case XML_CDATA_SECTION_NODE:
ZVAL_STRING(retval, "#cdata-section");

View file

@ -0,0 +1,14 @@
--TEST--
GH-17500 (Segfault with requesting nodeName on nameless doctype)
--EXTENSIONS--
dom
--FILE--
<?php
$doc = new DOMDocument();
$doc->loadHTML("<!DOCTYPE>", LIBXML_NOERROR);
var_dump($doc->doctype->nodeName);
?>
--EXPECT--
string(0) ""