summaryrefslogtreecommitdiff
path: root/ext/standard/tests/array/bug79930.phpt
diff options
context:
space:
mode:
Diffstat (limited to 'ext/standard/tests/array/bug79930.phpt')
-rw-r--r--ext/standard/tests/array/bug79930.phpt33
1 files changed, 33 insertions, 0 deletions
diff --git a/ext/standard/tests/array/bug79930.phpt b/ext/standard/tests/array/bug79930.phpt
new file mode 100644
index 0000000000..bb4e1dd86d
--- /dev/null
+++ b/ext/standard/tests/array/bug79930.phpt
@@ -0,0 +1,33 @@
+--TEST--
+Bug #79930: array_merge_recursive() crashes when called with array with single reference
+--FILE--
+<?php
+
+$a = 'a';
+$array = [
+ 'value' => $a . 'b',
+];
+
+// Create rc=1 reference.
+array_walk($array, function () {});
+
+$m = array_merge_recursive(['value' => 'a'], $array);
+
+var_dump($a, $array, $m);
+
+?>
+--EXPECT--
+string(1) "a"
+array(1) {
+ ["value"]=>
+ string(2) "ab"
+}
+array(1) {
+ ["value"]=>
+ array(2) {
+ [0]=>
+ string(1) "a"
+ [1]=>
+ string(2) "ab"
+ }
+}