|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2007-03-13 16:59 UTC] igor at webta dot net
Description:
------------
The following example results in a segfault in PHP 5:
Reproduce code:
---------------
<?
$obj = new stdClass();
$obj->prop1 = '1';
$obj->prop2 = '2';
$reflect = new ReflectionObject($obj);
$array = array();
foreach($reflect->getProperties() as $prop)
{
$array[$prop->getName()] = $prop->getValue($obj);
}
print_r($array);
?>
Expected result:
----------------
Array
(
[prop1] => 1
[prop2] => 2
)
Actual result:
--------------
Segmentation fault (core dumped)
(gdb) backtrace
#0 0x0808a5fa in zim_reflection_property_getValue ()
#1 0x081501b6 in zend_do_fcall_common_helper_SPEC ()
#2 0x0814f915 in execute ()
#3 0x08137fcf in zend_execute_scripts ()
#4 0x08101f41 in php_execute_script ()
#5 0x081b0934 in main ()
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Nov 01 04:00:02 2025 UTC |
Sorry, I cannot test latest snapshot on FreeBSD system, I try it on WinXP with following results: Test 1: <? $obj = new stdClass(); $obj->prop1 = '1'; $obj->prop2 = '2'; $reflect = new ReflectionObject($obj); $array = array(); foreach($reflect->getProperties() as $prop) { $array[$prop->getName()] = $prop->getValue($obj); } print_r($array); ?> Expected result: Array ( [prop1] => 1 [prop2] => 2 ) Actual result: Array ( [prop1] => 2 [prop2] => ) Test 2: <? $obj = new stdClass(); $obj->prop1 = '1'; $obj->prop2 = '2'; $obj->prop3 = '3'; $reflect = new ReflectionObject($obj); $array = array(); foreach($reflect->getProperties() as $prop) { $array[$prop->getName()] = $prop->getValue($obj); } print_r($array); ?> Expected result: Array ( [prop1] => 1 [prop2] => 2 [prop3] => 3 ) Actual result: Fatal error: Cannot access property started with '\0' in C:\php\test.php on line 12 Still does not work property.