diff options
-rw-r--r-- | Zend/zend_execute_API.c | 9 | ||||
-rw-r--r-- | Zend/zend_objects.c | 4 |
2 files changed, 5 insertions, 8 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)); } diff --git a/Zend/zend_objects.c b/Zend/zend_objects.c index 2778b168ee..69b5df2eab 100644 --- a/Zend/zend_objects.c +++ b/Zend/zend_objects.c @@ -167,9 +167,9 @@ ZEND_API void zend_objects_clone_members(zend_object *new_object, zend_object *o zval_add_ref(&new_prop); } if (key) { - zend_hash_update(new_object->properties, key, &new_prop); + zend_hash_add_new(new_object->properties, key, &new_prop); } else { - zend_hash_index_update(new_object->properties, num_key, &new_prop); + zend_hash_index_add_new(new_object->properties, num_key, &new_prop); } } ZEND_HASH_FOREACH_END(); } |