summaryrefslogtreecommitdiff
path: root/Zend/zend_execute_API.c
diff options
context:
space:
mode:
authorStanislav Malyshev <stas@php.net>2009-12-18 19:12:11 +0000
committerStanislav Malyshev <stas@php.net>2009-12-18 19:12:11 +0000
commitfc1e17ee7670a2035913abeb30bc14fcd56fdb5e (patch)
tree61b1adecc65a64744451ff1329ce6f3395c94bee /Zend/zend_execute_API.c
parentb7608c91e4d7baaecd6ac4b448a8d2bd5f0403f0 (diff)
downloadphp-git-fc1e17ee7670a2035913abeb30bc14fcd56fdb5e.tar.gz
fix regression bug #50394: Reference argument converted to value in __call
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r--Zend/zend_execute_API.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index ead346d197..a67c407def 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -838,6 +838,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS
zval *param;
if (EX(function_state).function->type == ZEND_INTERNAL_FUNCTION
+ && (EX(function_state).function->common.fn_flags & ZEND_ACC_CALL_VIA_HANDLER) == 0
&& !ARG_SHOULD_BE_SENT_BY_REF(EX(function_state).function, i + 1)
&& PZVAL_IS_REF(*fci->params[i])) {
SEPARATE_ZVAL(fci->params[i]);