]> granicus.if.org Git - php/commitdiff
preg indenpent test script for #63055
authorXinchen Hui <laruence@php.net>
Fri, 19 Oct 2012 03:22:56 +0000 (11:22 +0800)
committerXinchen Hui <laruence@php.net>
Fri, 19 Oct 2012 03:22:56 +0000 (11:22 +0800)
Zend/tests/bug63055.phpt [new file with mode: 0644]

diff --git a/Zend/tests/bug63055.phpt b/Zend/tests/bug63055.phpt
new file mode 100644 (file)
index 0000000..711385a
--- /dev/null
@@ -0,0 +1,23 @@
+--TEST--
+Bug #63055 (Segfault in zend_gc with SF2 testsuite)
+--FILE--
+<?php
+/* the default gc root size is 10,000 */
+for ($i=0; $i<9998; $i++) {
+    $array = array();
+    $array[0] = &$array;
+    unset($array);
+}
+
+$matches = array("foo" => "bar"); /* this bucket will trigger the segfault */
+$dummy   = array("dummy");        /* used to trigger gc_collect_cycles */
+$dummy[1] = &$dummy;
+
+$matches[1] = &$matches;
+$matches[2] = $dummy;
+
+str_replace("foo", "bar", "foobar", $matches);
+echo "okey";
+?>
+--EXPECTF--
+okey