diff options
Diffstat (limited to 'ext/standard/array.c')
| -rw-r--r-- | ext/standard/array.c | 6 |
1 files changed, 1 insertions, 5 deletions
diff --git a/ext/standard/array.c b/ext/standard/array.c index b3852619d6..b2d9b36c35 100644 --- a/ext/standard/array.c +++ b/ext/standard/array.c @@ -3666,10 +3666,6 @@ PHPAPI int php_array_merge_recursive(HashTable *dest, HashTable *src) /* {{{ */ if (Z_TYPE_P(dest_zval) == IS_NULL) { convert_to_array_ex(dest_zval); add_next_index_null(dest_zval); - } else if (Z_TYPE_P(dest_zval) == IS_ARRAY) { - if (UNEXPECTED(Z_ARRVAL_P(dest_zval)->nNextFreeElement > (zend_long)Z_ARRVAL_P(dest_zval)->nNumUsed)) { - Z_ARRVAL_P(dest_zval)->nNextFreeElement = Z_ARRVAL_P(dest_zval)->nNumUsed; - } } else { convert_to_array_ex(dest_zval); } @@ -3702,7 +3698,7 @@ PHPAPI int php_array_merge_recursive(HashTable *dest, HashTable *src) /* {{{ */ zval_add_ref(zv); } } else { - zval *zv = zend_hash_next_index_insert_new(dest, src_entry); + zval *zv = zend_hash_next_index_insert(dest, src_entry); zval_add_ref(zv); } } ZEND_HASH_FOREACH_END(); |
