mirror of
https://github.com/php/php-src.git
synced 2025-08-16 14:08:47 +02:00
fix bug #59613 (Crash with clone XMLReader)
This commit is contained in:
parent
9209c19f8f
commit
fc3f8a8f54
3 changed files with 27 additions and 0 deletions
4
NEWS
4
NEWS
|
@ -6,6 +6,10 @@ PHP NEWS
|
||||||
. Fixed bug #65808 (the socket_connect() won't work with IPv6 address).
|
. Fixed bug #65808 (the socket_connect() won't work with IPv6 address).
|
||||||
(Mike)
|
(Mike)
|
||||||
|
|
||||||
|
- XMLReader:
|
||||||
|
. Fixed bug #59613 (Crash with clone XMLReader). (Mike)
|
||||||
|
|
||||||
|
|
||||||
?? ??? 2013, PHP 5.4.21
|
?? ??? 2013, PHP 5.4.21
|
||||||
|
|
||||||
- Core:
|
- Core:
|
||||||
|
|
|
@ -1320,6 +1320,7 @@ PHP_MINIT_FUNCTION(xmlreader)
|
||||||
xmlreader_object_handlers.read_property = xmlreader_read_property;
|
xmlreader_object_handlers.read_property = xmlreader_read_property;
|
||||||
xmlreader_object_handlers.write_property = xmlreader_write_property;
|
xmlreader_object_handlers.write_property = xmlreader_write_property;
|
||||||
xmlreader_object_handlers.get_property_ptr_ptr = xmlreader_get_property_ptr_ptr;
|
xmlreader_object_handlers.get_property_ptr_ptr = xmlreader_get_property_ptr_ptr;
|
||||||
|
xmlreader_object_handlers.clone_obj = NULL;
|
||||||
|
|
||||||
INIT_CLASS_ENTRY(ce, "XMLReader", xmlreader_functions);
|
INIT_CLASS_ENTRY(ce, "XMLReader", xmlreader_functions);
|
||||||
ce.create_object = xmlreader_objects_new;
|
ce.create_object = xmlreader_objects_new;
|
||||||
|
|
22
ext/xmlreader/tests/bug51963.phpt
Normal file
22
ext/xmlreader/tests/bug51963.phpt
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
--TEST--
|
||||||
|
Bug #59613 (Crash with clone XMLReader)
|
||||||
|
--SKIPIF--
|
||||||
|
<?php
|
||||||
|
extension_loaded("xmlreader") or die("skip requires xmlreader");
|
||||||
|
?>
|
||||||
|
--FILE--
|
||||||
|
<?php
|
||||||
|
echo "Test\n";
|
||||||
|
|
||||||
|
$xmlreader = new XMLReader();
|
||||||
|
$xmlreader->xml("<a><b/></a>");
|
||||||
|
|
||||||
|
$xmlreader->next();
|
||||||
|
$xmlreader2 = clone $xmlreader;
|
||||||
|
$xmlreader2->next();
|
||||||
|
?>
|
||||||
|
Done
|
||||||
|
--EXPECTF--
|
||||||
|
Test
|
||||||
|
|
||||||
|
Fatal error: Trying to clone an uncloneable object of class XMLReader in %s on line %d
|
Loading…
Add table
Add a link
Reference in a new issue