diff options
Diffstat (limited to 'ext/xml/tests/bug46699.phpt')
-rw-r--r-- | ext/xml/tests/bug46699.phpt | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/ext/xml/tests/bug46699.phpt b/ext/xml/tests/bug46699.phpt new file mode 100644 index 0000000..3996fd1 --- /dev/null +++ b/ext/xml/tests/bug46699.phpt @@ -0,0 +1,33 @@ +--TEST-- +Bug #46699: (xml_parse crash when parser is namespace aware) +--SKIPIF-- +<?php +require_once("skipif.inc"); +if (! @xml_parser_create_ns('ISO-8859-1')) { die("skip xml_parser_create_ns is not supported on this platform");} +?> +--FILE-- +<?php +function defaultfunc($parser, $data) +{ +echo $data; +} + +$xml = <<<HERE +<a xmlns="http://example.com/foo" + xmlns:bar="http://example.com/bar"> + <bar:b foo="bar">1</bar:b> + <bar:c bar:nix="null" foo="bar">2</bar:c> +</a> +HERE; + +$parser = xml_parser_create_ns("ISO-8859-1","@"); +xml_set_default_handler($parser,'defaultfunc'); +xml_parser_set_option($parser,XML_OPTION_CASE_FOLDING,0); +xml_parse($parser, $xml); +xml_parser_free($parser); +?> +--EXPECT-- +<a xmlns="http://example.com/foo" xmlns:bar="http://example.com/bar"> + <bar:b foo="bar">1</bar:b> + <bar:c bar:nix="null" foo="bar">2</bar:c> +</a> |