Edit report at https://bugs.php.net/bug.php?id=62737&edit=1
ID: 62737 Updated by: larue...@php.net Reported by: leight at gmail dot com Summary: Segfault invoking SplFileInfo->openFile Status: Analyzed Type: Bug Package: Reproducible crash Operating System: Linux / OSX PHP Version: master-Git-2012-08-03 (Git) Block user comment: N Private report: N New Comment: sure, I am still working on this, thanks Previous Comments: ------------------------------------------------------------------------ [2012-08-03 16:21:25] larue...@php.net The following patch has been added/updated: Patch Name: ChangeDisableClassHandler.patch Revision: 1344010885 URL: https://bugs.php.net/patch-display.php?bug=62737&patch=ChangeDisableClassHandler.patch&revision=1344010885 ------------------------------------------------------------------------ [2012-08-03 15:43:01] reeze dot xia at gmail dot com Hi, by replace create_object function pointer and free function table isn't enough, after apply the patch, I got this, maybe more handlers need to be replaced and cleanup. Fatal error: Uncaught exception 'RuntimeException' with message 'get_class_vars() expects exactly 1 parameter, 2 given' in /Users/reeze/Opensource/php-test/php-src-5.3-dev/xx.php:6 Stack trace: #0 [internal function]: SplFileObject->get_class_vars('/bin/ls', 'r') #1 /Users/reeze/Opensource/php-test/php-src-5.3-dev/xx.php(6): SplFileInfo- >openFile('r') #2 {main} thrown in /Users/reeze/Opensource/php-test/php-src-5.3-dev/xx.php on line 6 ------------------------------------------------------------------------ [2012-08-03 15:03:17] larue...@php.net I have made a patch for this. ------------------------------------------------------------------------ [2012-08-03 15:02:48] larue...@php.net The following patch has been added/updated: Patch Name: ChangeDisableClassHandler.patch Revision: 1344006168 URL: https://bugs.php.net/patch-display.php?bug=62737&patch=ChangeDisableClassHandler.patch&revision=1344006168 ------------------------------------------------------------------------ [2012-08-03 14:25:19] larue...@php.net this is a very badly bug. but I think it's not a spl issues, we should change the behavior of zend_disable_class, since for now, it will delete the class entry, which will make the class entry pointer (preserved by extension) become a wild pointer.. dereference it is a undefined behavior, in this sense, segfault is lucky. ------------------------------------------------------------------------ The remainder of the comments for this report are too long. To view the rest of the comments, please view the bug report online at https://bugs.php.net/bug.php?id=62737 -- Edit this bug report at https://bugs.php.net/bug.php?id=62737&edit=1