diff options
author | Xinchen Hui <laruence@gmail.com> | 2017-05-17 23:21:18 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2017-05-17 23:21:18 +0800 |
commit | ef09bc0645a3dfdc82a9fc162fe9b247c735e305 (patch) | |
tree | 3ce74ae087bc6d58d6b040768f8c011f5099d4e5 /sapi | |
parent | e347b2ded6c9125c31e499a62c872d5cd600cae5 (diff) | |
download | php-git-ef09bc0645a3dfdc82a9fc162fe9b247c735e305.tar.gz |
Added test for bug #74600
Diffstat (limited to 'sapi')
-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) "" |