diff options
| -rw-r--r-- | Zend/zend_execute_API.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 0b632b05e4..8faba97fc7 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -858,8 +858,10 @@ int zend_call_function(zend_fcall_info *fci, zend_fcall_info_cache *fci_cache TS zval_copy_ctor(&fci->params[i]); } else if (!Z_ISREF(fci->params[i])) { + if (Z_REFCOUNTED(fci->params[i])) { + Z_ADDREF(fci->params[i]); + } ZVAL_NEW_REF(&fci->params[i], &fci->params[i]); - Z_ADDREF(fci->params[i]); } else if (Z_REFCOUNTED(fci->params[i])) { Z_ADDREF(fci->params[i]); } |
