summaryrefslogtreecommitdiff
path: root/Zend/zend_API.c
diff options
context:
space:
mode:
authorDmitry Stogov <dmitry@zend.com>2014-03-05 13:55:56 +0400
committerDmitry Stogov <dmitry@zend.com>2014-03-05 13:55:56 +0400
commit37337373287544f39d696c2fb357a56e99e6cecc (patch)
treede36b9e92ed66ada6c24179a3bd68695f603f00f /Zend/zend_API.c
parentdc889b69ef8947a87a93a59a24013d972b313158 (diff)
downloadphp-git-37337373287544f39d696c2fb357a56e99e6cecc.tar.gz
Handle interned strings as non-refcounted scalars
Diffstat (limited to 'Zend/zend_API.c')
-rw-r--r--Zend/zend_API.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/Zend/zend_API.c b/Zend/zend_API.c
index 7aacad1297..3d116bf333 100644
--- a/Zend/zend_API.c
+++ b/Zend/zend_API.c
@@ -93,7 +93,9 @@ ZEND_API int _zend_get_parameters_array(int ht, int param_count, zval *argument_
while (param_count-->0) {
param_ptr = (p-arg_count);
- if (!Z_ISREF_P(param_ptr) && Z_REFCOUNT_P(param_ptr) > 1) {
+ if (Z_REFCOUNTED_P(param_ptr) &&
+ !Z_ISREF_P(param_ptr) &&
+ Z_REFCOUNT_P(param_ptr) > 1) {
zval new_tmp;
ZVAL_DUP(&new_tmp, param_ptr);