mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Merge branch 'PHP-7.3' into PHP-7.4
* PHP-7.3: Fix bug #78323: Code 0 is returned on invalid options
This commit is contained in:
commit
1cccbb8ff1
11 changed files with 177 additions and 5 deletions
|
@ -2282,6 +2282,7 @@ parent_loop_end:
|
|||
break;
|
||||
case 'h':
|
||||
case '?':
|
||||
case PHP_GETOPT_INVALID_ARG:
|
||||
if (request) {
|
||||
fcgi_destroy_request(request);
|
||||
}
|
||||
|
@ -2291,6 +2292,9 @@ parent_loop_end:
|
|||
php_cgi_usage(argv[0]);
|
||||
php_output_end_all();
|
||||
exit_status = 0;
|
||||
if (c == PHP_GETOPT_INVALID_ARG) {
|
||||
exit_status = 1;
|
||||
}
|
||||
goto out;
|
||||
}
|
||||
}
|
||||
|
|
41
sapi/cgi/tests/bug78323.phpt
Normal file
41
sapi/cgi/tests/bug78323.phpt
Normal file
|
@ -0,0 +1,41 @@
|
|||
--TEST--
|
||||
Bug #78323 Test exit code and error message for invalid parameters
|
||||
--SKIPIF--
|
||||
<?php include "skipif.inc"; ?>
|
||||
--FILE--
|
||||
<?php
|
||||
include "include.inc";
|
||||
$php = get_cgi_path();
|
||||
reset_env_vars();
|
||||
|
||||
|
||||
// no argument for option
|
||||
ob_start();
|
||||
passthru("$php --memory-limit=1G 2>&1", $exitCode);
|
||||
$output = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
$lines = preg_split('/\R/', $output);
|
||||
echo $lines[0], "\n",
|
||||
$lines[1], "\n",
|
||||
"Done: $exitCode\n\n";
|
||||
|
||||
|
||||
// Successful execution
|
||||
ob_start();
|
||||
passthru("$php -dmemory-limit=1G -v", $exitCode);
|
||||
$output = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
$lines = preg_split('/\R/', $output);
|
||||
echo $lines[0], "\n",
|
||||
"Done: $exitCode\n";
|
||||
|
||||
?>
|
||||
--EXPECTF--
|
||||
Error in argument 1, char 1: no argument for option -
|
||||
Usage: %s
|
||||
Done: 1
|
||||
|
||||
PHP %s
|
||||
Done: 0
|
Loading…
Add table
Add a link
Reference in a new issue