Bug #62737 [Ana]: Segfault invoking SplFileInfo->openFile

From: Date: Fri, 03 Aug 2012 16:23:54 +0000
Subject: Bug #62737 [Ana]: Segfault invoking SplFileInfo->openFile
References: 1  Groups: php.bugs 
Request: Send a blank email to php-bugs+get-172423@lists.php.net to get a copy of this message
Edit report at https://bugs.php.net/bug.php?id=62737&edit=1

 ID:                 62737
 Updated by:         laruence@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] laruence@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] laruence@php.net

I have made a patch for this.

------------------------------------------------------------------------
[2012-08-03 15:02:48] laruence@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] laruence@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


Thread (16 messages)

« previous php.bugs (#172423) next »