diff options
author | Anatol Belski <ab@php.net> | 2017-11-28 12:42:40 +0100 |
---|---|---|
committer | Anatol Belski <ab@php.net> | 2017-11-28 12:42:40 +0100 |
commit | 79940993ded3328459aae3797f96973dc4f13a71 (patch) | |
tree | 939168af1cee548a59f24178984785ae007c5be5 | |
parent | c219991c77e4c68f7d62963e18a1da778de0bbe0 (diff) | |
parent | 578049fdb6a69c7cd46ff62838384d1d9b1c88c4 (diff) | |
download | php-git-79940993ded3328459aae3797f96973dc4f13a71.tar.gz |
Merge branch 'PHP-7.1' into PHP-7.2
* PHP-7.1:
Fixed bug #73830 Directory does not exist.
-rw-r--r-- | sapi/cli/php_cli_server.c | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index 1097b4769c..9a22c82037 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -2519,6 +2519,10 @@ int do_cli_server(int argc, char **argv) /* {{{ */ const char *server_bind_address = NULL; extern const opt_struct OPTIONS[]; const char *document_root = NULL; +#ifdef PHP_WIN32 + char document_root_tmp[MAXPATHLEN]; + size_t k; +#endif const char *router = NULL; char document_root_buf[MAXPATHLEN]; @@ -2528,7 +2532,23 @@ int do_cli_server(int argc, char **argv) /* {{{ */ server_bind_address = php_optarg; break; case 't': +#ifndef PHP_WIN32 document_root = php_optarg; +#else + k = strlen(php_optarg); + if (k + 1 > MAXPATHLEN) { + fprintf(stderr, "Document root path is too long.\n"); + return 1; + } + memmove(document_root_tmp, php_optarg, k + 1); + /* Clean out any trailing garbage that might have been passed + from a batch script. */ + do { + document_root_tmp[k] = '\0'; + k--; + } while ('"' == document_root_tmp[k] || ' ' == document_root_tmp[k]); + document_root = document_root_tmp; +#endif break; } } |