#28713 [NEW]: crash in recursive call of __call

From: Date: Wed, 09 Jun 2004 18:05:39 +0000
Subject: #28713 [NEW]: crash in recursive call of __call
Groups: php.bugs 
Request: Send a blank email to php-bugs+get-60669@lists.php.net to get a copy of this message
From: rodolfo at rodsoft dot org Operating system: linux 2.6.6 PHP version: 5.0.0RC2 PHP Bug Type: Reproducible crash Bug description: crash in recursive call of __call Description: ------------ This ill-behaved code crashes php. I know one should never write things like this, but this sample is an oversimplified version of a much bigger code I'm working with, and I've just spot my error after trying to simplify the code to attach here. PHP should emmit a warning when such things happen, as with __set and __get, saying that $this->func() isn't defined, when called inside a __call handler. Reproduce code: --------------- <? class test { function __call($func, $args) { $this->hello(); } } $a = new test; $a->hello(); echo "You won't read this"; ?> Expected result: ---------------- A warning saying that $this->hello isn't defined. Actual result: -------------- The coredump is a bunch of #0 0x0821d843 in zend_call_function () #1 0x0821e76a in call_user_function_ex () #2 0x0823cfa5 in zend_std_call_user_call () #3 0x0825f8ee in zend_do_fcall_common_helper () #4 0x0825faf1 in zend_do_fcall_by_name_handler () #5 0x0824daf8 in execute () repeated over and over -- Edit bug report at http://bugs.php.net/?id=28713&edit=1 -- Try a CVS snapshot (php4): http://bugs.php.net/fix.php?id=28713&r=trysnapshot4 Try a CVS snapshot (php5): http://bugs.php.net/fix.php?id=28713&r=trysnapshot5 Fixed in CVS: http://bugs.php.net/fix.php?id=28713&r=fixedcvs Fixed in release: http://bugs.php.net/fix.php?id=28713&r=alreadyfixed Need backtrace: http://bugs.php.net/fix.php?id=28713&r=needtrace Need Reproduce Script: http://bugs.php.net/fix.php?id=28713&r=needscript Try newer version: http://bugs.php.net/fix.php?id=28713&r=oldversion Not developer issue: http://bugs.php.net/fix.php?id=28713&r=support Expected behavior: http://bugs.php.net/fix.php?id=28713&r=notwrong Not enough info: http://bugs.php.net/fix.php?id=28713&r=notenoughinfo Submitted twice: http://bugs.php.net/fix.php?id=28713&r=submittedtwice register_globals: http://bugs.php.net/fix.php?id=28713&r=globals PHP 3 support discontinued: http://bugs.php.net/fix.php?id=28713&r=php3 Daylight Savings: http://bugs.php.net/fix.php?id=28713&r=dst IIS Stability: http://bugs.php.net/fix.php?id=28713&r=isapi Install GNU Sed: http://bugs.php.net/fix.php?id=28713&r=gnused Floating point limitations: http://bugs.php.net/fix.php?id=28713&r=float

« previous php.bugs (#60669) next »