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:
1
NEWS
1
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)
|
||||
|
||||
@@ -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)) {
|
||||
|
||||
Reference in New Issue
Block a user