diff options
| author | Dmitry Stogov <dmitry@php.net> | 2009-04-02 09:56:33 +0000 |
|---|---|---|
| committer | Dmitry Stogov <dmitry@php.net> | 2009-04-02 09:56:33 +0000 |
| commit | 875a27b7ede3d5b4e0a274017962f788d9176542 (patch) | |
| tree | db1bebc213e33c433526607efddc3efa2a8f656e /Zend/zend_API.c | |
| parent | f18b366ec83675991754172d438833b8b5d9957a (diff) | |
| download | php-git-875a27b7ede3d5b4e0a274017962f788d9176542.tar.gz | |
Fixed bug #47851 (is_callable throws fatal error)
Diffstat (limited to 'Zend/zend_API.c')
| -rw-r--r-- | Zend/zend_API.c | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c index 4c81080841..b0c460606c 100644 --- a/Zend/zend_API.c +++ b/Zend/zend_API.c @@ -2540,12 +2540,18 @@ get_function_via_handler: fcc->object_ptr = EG(This); if (error) { zend_spprintf(error, 0, "non-static method %s::%s() %s be called statically, assuming $this from compatible context %s", fcc->calling_scope->name, fcc->function_handler->common.function_name, verb, Z_OBJCE_P(EG(This))->name); + if (severity == E_ERROR) { + retval = 0; + } } else if (retval) { zend_error(severity, "Non-static method %s::%s() %s be called statically, assuming $this from compatible context %s", fcc->calling_scope->name, fcc->function_handler->common.function_name, verb, Z_OBJCE_P(EG(This))->name); } } else { if (error) { zend_spprintf(error, 0, "non-static method %s::%s() %s be called statically", fcc->calling_scope->name, fcc->function_handler->common.function_name, verb); + if (severity == E_ERROR) { + retval = 0; + } } else if (retval) { zend_error(severity, "Non-static method %s::%s() %s be called statically", fcc->calling_scope->name, fcc->function_handler->common.function_name, verb); } |
