Skip to content

Commit dcbf020

Browse files
committed
Merge branch 'PHP-7.4'
* PHP-7.4: Fix #79364: When copy empty array, next key is unspecified
2 parents f0f2493 + a72b261 commit dcbf020

File tree

2 files changed

+23
-1
lines changed

2 files changed

+23
-1
lines changed

Zend/tests/bug79364.phpt

+22
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
--TEST--
2+
Bug #79364 (When copy empty array, next key is unspecified)
3+
--FILE--
4+
<?php
5+
$a = [1, 2];
6+
unset($a[1], $a[0]);
7+
$b = $a;
8+
9+
$a[] = 3;
10+
$b[] = 4;
11+
12+
var_dump($a, $b);
13+
?>
14+
--EXPECT--
15+
array(1) {
16+
[2]=>
17+
int(3)
18+
}
19+
array(1) {
20+
[2]=>
21+
int(4)
22+
}

Zend/zend_hash.c

+1-1
Original file line numberDiff line numberDiff line change
@@ -2058,7 +2058,7 @@ ZEND_API HashTable* ZEND_FASTCALL zend_array_dup(HashTable *source)
20582058
target->nTableMask = HT_MIN_MASK;
20592059
target->nNumUsed = 0;
20602060
target->nNumOfElements = 0;
2061-
target->nNextFreeElement = ZEND_LONG_MIN;
2061+
target->nNextFreeElement = source->nNextFreeElement;
20622062
target->nInternalPointer = 0;
20632063
target->nTableSize = HT_MIN_SIZE;
20642064
HT_SET_DATA_ADDR(target, &uninitialized_bucket);

0 commit comments

Comments
 (0)