1
0
mirror of https://github.com/php/php-src.git synced 2026-04-14 03:22:58 +02:00

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.
This commit is contained in:
David Soria Parra
2013-06-24 15:38:48 +02:00
parent 9da4985bf2
commit ecd9d76250
2 changed files with 2 additions and 1 deletions

1
NEWS
View File

@@ -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)

View File

@@ -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)) {