summaryrefslogtreecommitdiff
path: root/Zend
diff options
context:
space:
mode:
Diffstat (limited to 'Zend')
-rw-r--r--Zend/zend_execute_API.c1
-rw-r--r--Zend/zend_vm_def.h2
-rw-r--r--Zend/zend_vm_execute.h2
3 files changed, 5 insertions, 0 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c
index 78a041d6ce..a62b9292ec 100644
--- a/Zend/zend_execute_API.c
+++ b/Zend/zend_execute_API.c
@@ -796,6 +796,7 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache) /
if (EXPECTED(!must_wrap)) {
ZVAL_COPY(param, arg);
} else {
+ Z_TRY_ADDREF_P(arg);
ZVAL_NEW_REF(param, arg);
}
}
diff --git a/Zend/zend_vm_def.h b/Zend/zend_vm_def.h
index fa70bf9f96..233138cded 100644
--- a/Zend/zend_vm_def.h
+++ b/Zend/zend_vm_def.h
@@ -5153,6 +5153,7 @@ ZEND_VM_C_LABEL(send_array):
if (EXPECTED(!must_wrap)) {
ZVAL_COPY(param, arg);
} else {
+ Z_TRY_ADDREF_P(arg);
ZVAL_NEW_REF(param, arg);
}
ZEND_CALL_NUM_ARGS(EX(call))++;
@@ -5186,6 +5187,7 @@ ZEND_VM_C_LABEL(send_array):
if (EXPECTED(!must_wrap)) {
ZVAL_COPY(param, arg);
} else {
+ Z_TRY_ADDREF_P(arg);
ZVAL_NEW_REF(param, arg);
}
ZEND_CALL_NUM_ARGS(EX(call))++;
diff --git a/Zend/zend_vm_execute.h b/Zend/zend_vm_execute.h
index 02b0ff24d1..941c1c48f6 100644
--- a/Zend/zend_vm_execute.h
+++ b/Zend/zend_vm_execute.h
@@ -2097,6 +2097,7 @@ send_array:
if (EXPECTED(!must_wrap)) {
ZVAL_COPY(param, arg);
} else {
+ Z_TRY_ADDREF_P(arg);
ZVAL_NEW_REF(param, arg);
}
ZEND_CALL_NUM_ARGS(EX(call))++;
@@ -2130,6 +2131,7 @@ send_array:
if (EXPECTED(!must_wrap)) {
ZVAL_COPY(param, arg);
} else {
+ Z_TRY_ADDREF_P(arg);
ZVAL_NEW_REF(param, arg);
}
ZEND_CALL_NUM_ARGS(EX(call))++;