From:             [EMAIL PROTECTED]
Operating system: Windows XP SP-2
PHP version:      5CVS-2004-12-30 (dev)
PHP Bug Type:     Reproducible crash
Bug description:  Serializing StdClass objects causes segfault

Description:
------------
Serializing StdClass objects causes segfault in PHP_5_0 but not in HEAD.

zend_std_get_method() (third stackframe) is called with __sleep as the
value for the method_name parameter so it looks like the serializer tries
to call a non-existant __sleep() method on the object.

Reproduce code:
---------------
<?php
print serialize(new StdClass);
?>


Expected result:
----------------
HEAD: O:8:"stdClass":0:{}

Actual result:
--------------
PHP_5_0:

php5ts_debug.dll!zend_object_store_get_object(_zval_struct *
zobject=0x00000001, void * * * tsrm_ls=0x00902c48)  Line 200 + 0x3      C
php5ts_debug.dll!zend_objects_get_address(_zval_struct *
zobject=0x00000001, void * * * tsrm_ls=0x00902c48)  Line 111 + 0xd      C
php5ts_debug.dll!zend_std_get_method(_zval_struct * *
object_ptr=0x00a31d50, char * method_name=0x1058f1c8, int method_len=7,
void * * * tsrm_ls=0x00902c48)  Line 680 + 0xd  C
php5ts_debug.dll!zend_call_function(_zend_fcall_info * fci=0x0012ecc8,
_zend_fcall_info_cache * fci_cache=0x00000000, void * * *
tsrm_ls=0x00902c48)  Line 688 + 0x30    C
php5ts_debug.dll!call_user_function_ex(_hashtable *
function_table=0x00908d40, _zval_struct * * object_pp=0x00a214e4,
_zval_struct * function_name=0x0012ef60, _zval_struct * *
retval_ptr_ptr=0x0012ef78, unsigned int param_count=0, _zval_struct * * *
params=0x00000000, int no_separation=1, _hashtable *
symbol_table=0x00000000, void * * * tsrm_ls=0x00902c48)  Line 551 + 0xf C
php5ts_debug.dll!php_var_serialize_intern(smart_str * buf=0x0012f3b0,
_zval_struct * * struc=0x00a214e4, _hashtable * var_hash=0x0012f3c4, void
* * * tsrm_ls=0x00902c48)  Line 678 + 0x38      C
php5ts_debug.dll!php_var_serialize(smart_str * buf=0x0012f3b0,
_zval_struct * * struc=0x00a214e4, _hashtable * var_hash=0x0012f3c4, void
* * * tsrm_ls=0x00902c48)  Line 771 + 0x15      C
php5ts_debug.dll!zif_serialize(int ht=1, _zval_struct *
return_value=0x00a31de0, _zval_struct * this_ptr=0x00000000, int
return_value_used=1, void * * * tsrm_ls=0x00902c48)  Line 794 + 0x15    C
php5ts_debug.dll!zend_do_fcall_common_helper(_zend_execute_data *
execute_data=0x0012f744, _zend_op * opline=0x00a31a88, _zend_op_array *
op_array=0x00a31680, void * * * tsrm_ls=0x00902c48)  Line 2711 + 0x32   C
php5ts_debug.dll!zend_do_fcall_handler(_zend_execute_data *
execute_data=0x0012f744, _zend_op * opline=0x00a31a88, _zend_op_array *
op_array=0x00a31680, void * * * tsrm_ls=0x00902c48)  Line 2843 + 0x15   C
php5ts_debug.dll!execute(_zend_op_array * op_array=0x00a31680, void * * *
tsrm_ls=0x00902c48)  Line 1400 + 0x17   C
php5ts_debug.dll!zend_execute_scripts(int type=8, void * * *
tsrm_ls=0x00902c48, _zval_struct * * retval=0x00000000, int file_count=3,
...)  Line 1060 + 0x21  C
php5ts_debug.dll!php_execute_script(_zend_file_handle *
primary_file=0x0012ff2c, void * * * tsrm_ls=0x00902c48)  Line 1628 +
0x1b    C
php.exe!main(int argc=2, char * * argv=0x00904c68)  Line 943 + 0x13     C
php.exe!mainCRTStartup()  Line 398 + 0x11       C
kernel32.dll!7c816d4f()
kernel32.dll!7c8399f3()

-- 
Edit bug report at http://bugs.php.net/?id=31356&edit=1
-- 
Try a CVS snapshot (php4):   http://bugs.php.net/fix.php?id=31356&r=trysnapshot4
Try a CVS snapshot (php5.0): 
http://bugs.php.net/fix.php?id=31356&r=trysnapshot50
Try a CVS snapshot (php5.1): 
http://bugs.php.net/fix.php?id=31356&r=trysnapshot51
Fixed in CVS:                http://bugs.php.net/fix.php?id=31356&r=fixedcvs
Fixed in release:            http://bugs.php.net/fix.php?id=31356&r=alreadyfixed
Need backtrace:              http://bugs.php.net/fix.php?id=31356&r=needtrace
Need Reproduce Script:       http://bugs.php.net/fix.php?id=31356&r=needscript
Try newer version:           http://bugs.php.net/fix.php?id=31356&r=oldversion
Not developer issue:         http://bugs.php.net/fix.php?id=31356&r=support
Expected behavior:           http://bugs.php.net/fix.php?id=31356&r=notwrong
Not enough info:             
http://bugs.php.net/fix.php?id=31356&r=notenoughinfo
Submitted twice:             
http://bugs.php.net/fix.php?id=31356&r=submittedtwice
register_globals:            http://bugs.php.net/fix.php?id=31356&r=globals
PHP 3 support discontinued:  http://bugs.php.net/fix.php?id=31356&r=php3
Daylight Savings:            http://bugs.php.net/fix.php?id=31356&r=dst
IIS Stability:               http://bugs.php.net/fix.php?id=31356&r=isapi
Install GNU Sed:             http://bugs.php.net/fix.php?id=31356&r=gnused
Floating point limitations:  http://bugs.php.net/fix.php?id=31356&r=float
No Zend Extensions:          http://bugs.php.net/fix.php?id=31356&r=nozend
MySQL Configuration Error:   http://bugs.php.net/fix.php?id=31356&r=mysqlcfg

Reply via email to