mirror of
https://github.com/php/php-src.git
synced 2024-11-24 02:15:04 +08:00
Fixed bug #76777 and added test
Set undefined values to null rather than undefined.
This commit is contained in:
parent
4c542e6c13
commit
cf2fc66b02
4
NEWS
4
NEWS
@ -17,6 +17,10 @@ PHP NEWS
|
||||
. Fixed bug #74484 (MessageFormatter::formatMessage memory corruption with
|
||||
11+ named placeholders). (Anatol)
|
||||
|
||||
- libxml:
|
||||
. Fixed bug #76777 ("public id" parameter of libxml_set_external_entity_loader
|
||||
callback undefined). (Ville Hukkamäki)
|
||||
|
||||
- mbstring:
|
||||
. Fixed bug #76704 (mb_detect_order return value varies based on argument
|
||||
type). (cmb)
|
||||
|
@ -591,12 +591,12 @@ static xmlParserInputPtr _php_libxml_external_entity_loader(const char *URL,
|
||||
if (ID != NULL) {
|
||||
ZVAL_STRING(¶ms[0], ID);
|
||||
} else {
|
||||
ZVAL_UNDEF(¶ms[0]);
|
||||
ZVAL_NULL(¶ms[0]);
|
||||
}
|
||||
if (URL != NULL) {
|
||||
ZVAL_STRING(¶ms[1], URL);
|
||||
} else {
|
||||
ZVAL_UNDEF(¶ms[1]);
|
||||
ZVAL_NULL(¶ms[1]);
|
||||
}
|
||||
ctxzv = ¶ms[2];
|
||||
array_init_size(ctxzv, 4);
|
||||
|
43
ext/libxml/tests/bug76777.phpt
Normal file
43
ext/libxml/tests/bug76777.phpt
Normal file
@ -0,0 +1,43 @@
|
||||
--TEST--
|
||||
Bug #76777 (first parameter of libxml_set_external_entity_loader callback undefined)
|
||||
--SKIPIF--
|
||||
<?php
|
||||
if (!extension_loaded('libxml')) die('skip');
|
||||
if (getenv("SKIP_ONLINE_TESTS")) die('skip online test');
|
||||
?>
|
||||
--FILE--
|
||||
<?php
|
||||
$xml=<<<EOF
|
||||
<?xml version="1.0"?>
|
||||
<test/>
|
||||
EOF;
|
||||
|
||||
$xsd=<<<EOF
|
||||
<?xml version="1.0"?>
|
||||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
|
||||
<xs:include schemaLocation="nonexistent.xsd"/>
|
||||
<xs:element name="test"/>
|
||||
</xs:schema>
|
||||
EOF;
|
||||
|
||||
libxml_set_external_entity_loader(function($p,$s,$c) {
|
||||
var_dump($p,$s,$c);
|
||||
die();
|
||||
});
|
||||
|
||||
$dom=new DOMDocument($xml);
|
||||
$dom->schemaValidateSource($xsd);
|
||||
?>
|
||||
--EXPECTF--
|
||||
NULL
|
||||
string(15) "nonexistent.xsd"
|
||||
array(4) {
|
||||
["directory"]=>
|
||||
NULL
|
||||
["intSubName"]=>
|
||||
NULL
|
||||
["extSubURI"]=>
|
||||
NULL
|
||||
["extSubSystem"]=>
|
||||
NULL
|
||||
}
|
Loading…
Reference in New Issue
Block a user