diff options
author | Xinchen Hui <laruence@gmail.com> | 2017-05-17 23:21:42 +0800 |
---|---|---|
committer | Xinchen Hui <laruence@gmail.com> | 2017-05-17 23:21:42 +0800 |
commit | af0c443ddef76a1cd294d9e100bf125a4d04c9a1 (patch) | |
tree | 926d9194ef86ae63504f915593d781039b2aecb2 /sapi | |
parent | 46b7287cc34f2e0ac2a9dbb6eb702a093989eec3 (diff) | |
parent | f38487a0e0c47642d1519e5089a5c775bf14a02e (diff) | |
download | php-git-af0c443ddef76a1cd294d9e100bf125a4d04c9a1.tar.gz |
Merge branch 'PHP-7.1'
* PHP-7.1:
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) "" |