Commit: ecd9d7625098bfc0a14ffa1fc39535848e71fc80 Author: David Soria Parra <d...@php.net> Mon, 24 Jun 2013 15:38:48 +0200 Parents: 9da4985bf2d532ed72fbd3a7d3390464692cce7a Branches: PHP-5.5 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=ecd9d7625098bfc0a14ffa1fc39535848e71fc80 Log: Fix #65108 (is_callable() triggers Fatal Error) We have to check if the fcall info cache contains a pointer if we use __call, otherwise we endup in a static lookup. Bugs: https://bugs.php.net/65108 Changed paths: M NEWS M Zend/zend_API.c Diff: diff --git a/NEWS b/NEWS index 2df33bc..0a57834 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,7 @@ PHP NEWS - Core: . Fixed bug #65088 (Generated configure script is malformed on OpenBSD). (Adam) + . Fixed bug #65108 (is_callable() triggers Fatal Error). (David Soria Parra) OPcache . OPcache must be compatible with LiteSpeed SAPI (Dmitry) diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 56c7c24..439d809 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -2842,7 +2842,7 @@ static int zend_is_callable_check_func(int check_flags, zval *callable, zend_fca } if ((check_flags & IS_CALLABLE_CHECK_NO_ACCESS) == 0 && (fcc->calling_scope && - (fcc->calling_scope->__call || + ((fcc->calling_scope->__call && fcc->object_ptr) || fcc->calling_scope->__callstatic))) { if (fcc->function_handler->op_array.fn_flags & ZEND_ACC_PRIVATE) { if (!zend_check_private(fcc->function_handler, fcc->object_ptr ? Z_OBJCE_P(fcc->object_ptr) : EG(scope), lmname, mlen TSRMLS_CC)) { -- PHP CVS Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php