From: friosa at pnpitalia dot it Operating system: Linux 2.4.18-4GB PHP version: 5CVS-2004-03-03 (dev) PHP Bug Type: Reproducible crash Bug description: serialize / unserialize crash
Description: ------------ investigating on bug #27469 I've tryed to serialize an object that used was crashing php + apache. Trying to unserialize it on php 4.x produces a boolean true variable, doing the same on php 5 cvs create a crash but in a different fx/program (php_var_serialize_class_name / var.c). Reproduce code: --------------- <?php $mime_part=unserialize(base64_decode("TzoxMjoiTUlNRV9NZXNzYWdlIjoxOTp7czo2OiJfYnVpbGQiO2I6MTtzOjE0OiJfZGVmYXVsdFNlcnZlciI7czo4OiJ3d3cyLnBucCI7czo1OiJfdHlwZSI7czo0OiJ0ZXh0IjtzOjg6Il9zdWJ0eXBlIjtpOjA7czo5OiJfY29udGVudHMiO3M6MDoiIjtzOjE3OiJfdHJhbnNmZXJFbmNvZGluZyI7czo0OiI3Yml0IjtzOjExOiJfZW5jb2RlN2JpdCI7YjoxO3M6MTI6Il9kZXNjcmlwdGlvbiI7czowOiIiO3M6MTI6Il9kaXNwb3NpdGlvbiI7czo2OiJpbmxpbmUiO3M6MjI6Il9kaXNwb3NpdGlvblBhcmFtZXRlcnMiO2E6MDp7fXM6MjI6Il9jb250ZW50VHlwZVBhcmFtZXRlcnMiO2k6MDtzOjY6Il9wYXJ0cyI7YTowOnt9czoxMjoiX2luZm9ybWF0aW9uIjtpOjA7czo2OiJfYnl0ZXMiO3I6MTtzOjU6Il9jaWRzIjthOjA6e31zOjc6Il9taW1laWQiO2k6MDtzOjQ6Il9lb2wiO3M6MToiCiI7czo2OiJfZmxhZ3MiO2k6MDtzOjY6Il9pZG1hcCI7YTowOnt9fQ=="));$pluto=unserialize(base64_decode("TzoxMjoiSU1QX0NvbnRlbnRzIjoxNTp7czo1OiJfYm9keSI7czowOiIiO3M6OToiX2JvZHlwYXJ0IjthOjA6e31zOjY6Il9pbmRleCI7czozOiIxMDQiO3M6NjoiX3N0cmlwIjtiOjA7czo4OiJfbWVzc2FnZSI7TzoxMjoiTUlNRV9NZXNzYWdlIjoxOTp7czo2OiJfYnVpbGQiO2I6MTtzOjE0OiJfZGVmYXVsdFNlcnZlciI7czo4OiJ3d3cyLnBucCI7czo1OiJfdHlwZSI7czo0OiJ0ZXh0IjtzOjg6Il9zdWJ0eXBlIjtpOjA7czo5OiJfY29udGVudHMiO3M6MDoiIjtzOjE3OiJfdHJhbnNmZXJFbmNvZGluZyI7czo0OiI3Yml0IjtzOjExOiJfZW5jb2RlN2JpdCI7YjoxO3M6MTI6Il9kZXNjcmlwdGlvbiI7czowOiIiO3M6MTI6Il9kaXNwb3NpdGlvbiI7czo2OiJpbmxpbmUiO3M6MjI6Il9kaXNwb3NpdGlvblBhcmFtZXRlcnMiO2E6MDp7fXM6MjI6Il9jb250ZW50VHlwZVBhcmFtZXRlcnMiO2k6MDtzOjY6Il9wYXJ0cyI7YTowOnt9czoxMjoiX2luZm9ybWF0aW9uIjtpOjA7czo2OiJfYnl0ZXMiO3M6MDoiIjtzOjU6Il9jaWRzIjthOjA6e31zOjc6Il9taW1laWQiO2k6MDtzOjQ6Il9lb2wiO3M6MToiCiI7czo2OiJfZmxhZ3MiO2k6MDtzOjY6Il9pZG1hcCI7YTowOnt9fXM6NDoiX2F0YyI7YTowOnt9czo2OiJfcGFydHMiO2E6MDp7fXM6ODoiX3N1bW1hcnkiO2E6MDp7fXM6MTU6Il9zZXNzaW9uQ2FjaGVJRCI7TjtzOjEyOiJfdmlld2VyQ2FjaGUiO2E6MDp7fXM6MTI6Il9kaXNwbGF5VHlwZSI7czo0OiJsaXN0IjtzOjg6Il9taW1la2V5IjtOO3M6NzoiX3ZpZXdJRCI7YToyOntzOjg6ImRvd25sb2FkIjtzOjQzOiJmYWlsZWQgdG8gZmx1c2ggYnVmZmVyLiBObyBidWZmZXIgdG8gZmx1c2guIjtzOjQ6InZpZXciO3M6MTE6InZpZXdfYXR0YWNoIjt9czo2OiJfbGlua3MiO2I6MTtzOjU6Il9iYXNlIjtOO30=")); $pluto->buildMessagePart($mime_part); define('MIME_CONTENTS_CACHE', 'mimecache'); class MIME_Contents { function MIME_Contents($messageOb, $viewID = array(), $contents = array()) {} function buildMessagePart(&$mime_part) { $msg = ''; // CRASH HERE echo "<pre>" . addslashes(serialize($mime_part)) . "</pre>"; return $msg; } } class IMP_Contents extends MIME_Contents { function IMP_Contents($index) {} } ?> Actual result: -------------- Bug #27469 zend_variables.c problem Submitted: 2 Mar 6:00pm EST Modified: 3 Mar 4:32am EST From: friosa at pnpitalia dot it Status: Feedback Category: Zend Engine 2 problem Version: 5.0.0b4 (beta4) OS: Linux 2.4.18-4GB gdb ./httpd (gdb) run -X Starting program: /TEST/apache/bin/./httpd -X [New Thread 1024 (LWP 17036)] Program received signal SIGSEGV, Segmentation fault. [Switching to Thread 1024 (LWP 17036)] 0x4035080f in memcpy () from /lib/libc.so.6 (gdb) bt #0 0x4035080f in memcpy () from /lib/libc.so.6 #1 0x405f8b0b in php_var_serialize_class_name (buf=0xbfffc4dc, struc=0x16f1520) at /TEST/php5-200403022230/ext/standard/var.c:480 #2 0x40698d73 in zend_do_fcall_common_helper (execute_data=0xbfffc850, opline=0xbfffc4d5, op_array=0xa) at /TEST/php5-200403022230/Zend/zend_execute.c:2677 #3 0x406703b9 in zend_execute_scripts (type=1081403672, retval=0x40d0d24c, file_count=516) at /TEST/php5-200403022230/Zend/zend.c:1041 (gdb) -- Edit bug report at http://bugs.php.net/?id=27484&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=27484&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=27484&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=27484&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=27484&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=27484&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=27484&r=needscript Try newer version: http://bugs.php.net/fix.php?id=27484&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=27484&r=support Expected behavior: http://bugs.php.net/fix.php?id=27484&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=27484&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=27484&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=27484&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=27484&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=27484&r=dst IIS Stability: http://bugs.php.net/fix.php?id=27484&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=27484&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=27484&r=float