summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndi Gutmans <andi@php.net>1999-12-13 08:49:22 +0000
committerAndi Gutmans <andi@php.net>1999-12-13 08:49:22 +0000
commit05f8c04928a53ad64f43ed78eddae684f513aefa (patch)
tree10e2090c870e074e18371fd06c1c9d2f86d629ed
parent419c68f9ecaf85b6f970f9084577bced39ce5f0a (diff)
downloadphp-git-05f8c04928a53ad64f43ed78eddae684f513aefa.tar.gz
- Fix problem when return_value's is_ref/refcount is overwritten by the
internal function.
-rw-r--r--Zend/zend_execute.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/Zend/zend_execute.c b/Zend/zend_execute.c
index cfe20ef837..59918742ed 100644
--- a/Zend/zend_execute.c
+++ b/Zend/zend_execute.c
@@ -1487,6 +1487,8 @@ do_fcall_common:
if (object.ptr) {
object.ptr->refcount--;
}
+ Ts[opline->result.u.var].var.ptr->is_ref = 0;
+ Ts[opline->result.u.var].var.ptr->refcount = 1;
} else if (function_state.function->type==ZEND_USER_FUNCTION) {
HashTable *calling_symbol_table;