summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Zend/zend_execute_API.c9
-rw-r--r--Zend/zend_objects.c4
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();
}