diff options
| author | Dmitry Stogov <dmitry@php.net> | 2011-05-31 11:36:57 +0000 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@php.net> | 2011-05-31 11:36:57 +0000 |
| commit | eaeb4537ecb301329d8bde4db286bad9dc07cd45 (patch) | |
| tree | c60839ec326729e05681fb79ed74df4b72b24332 /Zend/zend_API.c | |
| parent | 0de3cd84a53acbf041b4fb4239442e3a3fd42e0a (diff) | |
| download | php-git-eaeb4537ecb301329d8bde4db286bad9dc07cd45.tar.gz | |
MFH: Fixed bug #54910 (Crash when calling call_user_func with unknown function name)
Diffstat (limited to 'Zend/zend_API.c')
| -rw-r--r-- | Zend/zend_API.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 2b87648e30..d6933cf402 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -2773,6 +2773,11 @@ get_function_via_handler: if (fcc->function_handler) { retval = 1; call_via_handler = (fcc->function_handler->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) != 0; + if (call_via_handler && !fcc->object_ptr && EG(This) && + Z_OBJ_HT_P(EG(This))->get_class_entry && + instanceof_function(Z_OBJCE_P(EG(This)), fcc->calling_scope TSRMLS_CC)) { + fcc->object_ptr = EG(This); + } } } } |
