diff options
author | Xinchen Hui <laruence@gmail.com> | 2017-05-17 23:21:38 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2017-05-17 23:21:38 +0800 |
commit | f38487a0e0c47642d1519e5089a5c775bf14a02e (patch) | |
tree | 24ded07530d1c7aaec00c7c20424f40b0e3628dc | |
parent | d3e3bc611a8c4c6c3063f7bf5a45873c2bece6ec (diff) | |
parent | ef09bc0645a3dfdc82a9fc162fe9b247c735e305 (diff) | |
download | php-git-f38487a0e0c47642d1519e5089a5c775bf14a02e.tar.gz |
Merge branch 'PHP-7.0' into PHP-7.1
* PHP-7.0:
Added test for bug #74600
-rw-r--r-- | sapi/cli/tests/bug74600.phpt | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/sapi/cli/tests/bug74600.phpt b/sapi/cli/tests/bug74600.phpt new file mode 100644 index 0000000000..bdda12ee19 --- /dev/null +++ b/sapi/cli/tests/bug74600.phpt @@ -0,0 +1,34 @@ +--TEST-- +Bug #74600 (crash (SIGSEGV) in _zend_hash_add_or_update_i) +--SKIPIF-- +<?php +if (!getenv("TEST_PHP_EXECUTABLE")) die("skip TEST_PHP_EXECUTABLE not set"); +if (substr(PHP_OS, 0, 3) == "WIN") die("skip non windows test"); +?> +--FILE-- +<?php +$php = getenv("TEST_PHP_EXECUTABLE"); +$ini_file = __DIR__ . "/bug74600.ini"; +file_put_contents($ini_file, <<<INI +[PHP]\n;\rs=\000\000=\n;\r[PATH\000]\000\376 =\n +INI +); +$desc = array( + 0 => array("pipe", "r"), + 1 => array("pipe", "w"), + 2 => array("pipe", "w"), +); +$pipes = array(); +$proc = proc_open("$php -c $ini_file -r 'echo \"okey\";'", $desc, $pipes); +if (!$proc) { + exit(1); +} +var_dump(stream_get_contents($pipes[1])); +var_dump(stream_get_contents($pipes[2])); + +proc_terminate($proc); +proc_close($proc); +?> +--EXPECTF-- +string(4) "okey" +string(0) "" |