ID:               37853
 Updated by:       [EMAIL PROTECTED]
 Reported By:      jona at oismail dot com
-Status:           Open
+Status:           Feedback
 Bug Type:         Reproducible crash
 Operating System: Windows 2000
 PHP Version:      5.1.4
 New Comment:

Thank you for this bug report. To properly diagnose the problem, we
need a backtrace to see what is happening behind the scenes. To
find out how to generate a backtrace, please read
http://bugs.php.net/bugs-generating-backtrace.php for *NIX and
http://bugs.php.net/bugs-generating-backtrace-win32.php for Win32

Once you have generated a backtrace, please submit it to this bug
report and change the status back to "Open". Thank you for helping
us make PHP better.

No ISAPI or windows here, only Linux.


Previous Comments:
------------------------------------------------------------------------

[2006-06-19 21:36:07] jona at oismail dot com

I get an "PHP has encountered an Access Violation at 01B1B9F3" for both
v5.1.4 and v5.2-dev.

Are you running PHP as an ISAPI module?

------------------------------------------------------------------------

[2006-06-19 21:28:55] [EMAIL PROTECTED]

Please try using this CVS snapshot:

  http://snaps.php.net/php5.2-latest.tar.gz
 
For Windows:
 
  http://snaps.php.net/win32/php5.2-win32-latest.zip

I get two error messages and no crash:

Warning: DOMDocument::loadXML(): xmlParseEntityRef: no name in Entity,
line: 3 in /tmp/3.php on line 27
Warning: DOMDocument::schemaValidateSource(): The document has no
document element. in /tmp/3.php on line 29


------------------------------------------------------------------------

[2006-06-19 20:46:07] jona at oismail dot com

Description:
------------
When an unescaped & is encounted in an XML document, PHP causes an
access violation in IIS when DOM schemaValidate or DOM
schemaValidateSource is called.
I have PHP running as an ISAPI module using the php5isapi.dll

Reproduce code:
---------------
<?php
$sXML = '<?xml version="1.0" encoding="ISO-8859-5"?>
<root type="input"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
xsi:noNamespaceSchemaLocation="input.xsd">
<username>Jona&</username>
</root>';

$sSchema = '<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:simpleType name="string">
        <xs:restriction base="xs:string">
                <xs:minLength value="1" />
        </xs:restriction>
</xs:simpleType>

<xs:element name="root">
        <xs:complexType>                        
                <xs:choice>
                        <xs:element name="username" type="string" />
                        <xs:element name="password" type="string" />
                </xs:choice>
                <xs:attribute name="type" type="xs:string" use="required"
fixed="input" />
        </xs:complexType>
</xs:element>
</xs:schema>';

$obj_DOM = new DOMDocument("1.0", "ISO-8859-5");
$obj_DOM->loadXML(trim($sXML) );

$obj_DOM->schemaValidateSource($sSchema);
?>

Expected result:
----------------
Warning thrown along the lines of "Invalid XML document" or
schemaValidate returns false.

Actual result:
--------------
PHP has encountered an Access Violation at 01B1E093
Warning: DOMDocument::loadXML() [function.DOMDocument-loadXML]:
xmlParseEntityRef: no name in Entity, line: 3 in
D:\www\php5api\webroot\xml_schema_test.php on line 27


------------------------------------------------------------------------


-- 
Edit this bug report at http://bugs.php.net/?id=37853&edit=1

Reply via email to