diff options
Diffstat (limited to 'Zend/zend_execute_API.c')
-rw-r--r-- | Zend/zend_execute_API.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/Zend/zend_execute_API.c b/Zend/zend_execute_API.c index 480206bfb5..657a261d54 100644 --- a/Zend/zend_execute_API.c +++ b/Zend/zend_execute_API.c @@ -1471,17 +1471,14 @@ ZEND_API void zend_attach_symbol_table(zend_execute_data *execute_data) /* {{{ * if (zv) { if (Z_TYPE_P(zv) == IS_INDIRECT) { zval *val = Z_INDIRECT_P(zv); - if (Z_TYPE_P(val) == IS_UNDEF) { - ZVAL_UNDEF(EX_VAR_NUM(i)); - } else { - ZVAL_COPY_VALUE(EX_VAR_NUM(i), val); - } + + ZVAL_COPY_VALUE(EX_VAR_NUM(i), val); } else { ZVAL_COPY_VALUE(EX_VAR_NUM(i), zv); } } else { ZVAL_UNDEF(EX_VAR_NUM(i)); - zv = zend_hash_update(ht, op_array->vars[i], EX_VAR_NUM(i)); + zv = zend_hash_add_new(ht, op_array->vars[i], EX_VAR_NUM(i)); } ZVAL_INDIRECT(zv, EX_VAR_NUM(i)); } |