]> granicus.if.org Git - php/commitdiff
Fixed DOM tests when using libxml2 versions patched against CVE-2014-0191
authorMatteo Beccati <mbeccati@php.net>
Wed, 4 Jun 2014 11:26:24 +0000 (13:26 +0200)
committerMatteo Beccati <mbeccati@php.net>
Mon, 9 Jun 2014 05:08:04 +0000 (07:08 +0200)
DOMDocument::substituteEntities needs to be set to true in order for
external entities to be parsed.

ext/dom/tests/DOMDocument_validate_external_dtd.phpt
ext/dom/tests/bug67081.phpt
ext/libxml/tests/libxml_set_external_entity_loader_variation1.phpt

index 51a044c54a624ea9697cb9c22c9b8c9b0379d749..dd4ec960d28dd2ec20e7449a5d07cd222b826454 100644 (file)
@@ -12,6 +12,7 @@ require_once dirname(__FILE__) .'/skipif.inc';
 // reusing existing xml: http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/dom.xml?view=co&content-type=text%2Fplain
 // reusing existing dtd: http://cvs.php.net/viewvc.cgi/php-src/ext/dom/tests/dom.ent?view=co&content-type=text%2Fplain
 $dom = new DOMDocument('1.0');
+$dom->substituteEntities = true;
 $dom->load(dirname(__FILE__).'/dom.xml');
 var_dump($dom->validate());
 ?>
index 56c2c8e58b5a59f47469e1a36f03faf33a0e7ac7..c6dc007d43ef9ba4d0fddd79fd7ec7b07a66a2a2 100644 (file)
@@ -7,18 +7,22 @@ require_once('skipif.inc');
 --FILE--
 <?php
        $domDocument = new DOMDocument();
+       $domDocument->substituteEntities = true;
        $domDocument->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . "bug67081_0.xml");
        var_dump($domDocument->doctype->internalSubset);
 
        $domDocument = new DOMDocument();
+       $domDocument->substituteEntities = true;
        $domDocument->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . "bug67081_1.xml");
        var_dump($domDocument->doctype->internalSubset);
 
        $domDocument = new DOMDocument();
+       $domDocument->substituteEntities = true;
        $domDocument->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . "bug67081_2.xml");
        var_dump($domDocument->doctype->internalSubset);
 
        $domDocument = new DOMDocument();
+       $domDocument->substituteEntities = true;
        $domDocument->load(dirname(__FILE__) . DIRECTORY_SEPARATOR . "dom.xml");
        var_dump($domDocument->doctype->internalSubset);
 ?>
index c9c45940b9e9ab7a3f88d99dc6491b75b0420318..958192704348ef7ed61f83e3e6c62b9382c98fff 100644 (file)
@@ -37,6 +37,7 @@ libxml_set_external_entity_loader(
 );
 
 $dd = new DOMDocument;
+$dd->substituteEntities = true;
 $dd->resolveExternals = true;
 $r = $dd->loadXML($xml);
 var_dump($dd->validate());