mirror of
https://github.com/php/php-src.git
synced 2025-01-26 13:44:22 +08:00
Merge branch 'PHP-7.2'
This commit is contained in:
commit
b942648771
@ -2098,6 +2098,12 @@ static int php_cli_server_dispatch_router(php_cli_server *server, php_cli_server
|
||||
{
|
||||
int decline = 0;
|
||||
zend_file_handle zfd;
|
||||
char *old_cwd;
|
||||
|
||||
ALLOCA_FLAG(use_heap)
|
||||
old_cwd = do_alloca(MAXPATHLEN, use_heap);
|
||||
old_cwd[0] = '\0';
|
||||
php_ignore_value(VCWD_GETCWD(old_cwd, MAXPATHLEN - 1));
|
||||
|
||||
zfd.type = ZEND_HANDLE_FILENAME;
|
||||
zfd.filename = server->router;
|
||||
@ -2119,6 +2125,12 @@ static int php_cli_server_dispatch_router(php_cli_server *server, php_cli_server
|
||||
}
|
||||
} zend_end_try();
|
||||
|
||||
if (old_cwd[0] != '\0') {
|
||||
php_ignore_value(VCWD_CHDIR(old_cwd));
|
||||
}
|
||||
|
||||
free_alloca(old_cwd, use_heap);
|
||||
|
||||
return decline;
|
||||
}
|
||||
/* }}} */
|
||||
@ -2310,20 +2322,10 @@ static int php_cli_server_ctor(php_cli_server *server, const char *addr, const c
|
||||
|
||||
if (router) {
|
||||
size_t router_len = strlen(router);
|
||||
if (!IS_ABSOLUTE_PATH(router, router_len)) {
|
||||
_router = pemalloc(server->document_root_len + router_len + 2, 1);
|
||||
if (!_router) {
|
||||
retval = FAILURE;
|
||||
goto out;
|
||||
}
|
||||
snprintf(_router,
|
||||
server->document_root_len + router_len + 2, "%s%c%s", server->document_root, DEFAULT_SLASH, router);
|
||||
} else {
|
||||
_router = pestrndup(router, router_len, 1);
|
||||
if (!_router) {
|
||||
retval = FAILURE;
|
||||
goto out;
|
||||
}
|
||||
_router = pestrndup(router, router_len, 1);
|
||||
if (!_router) {
|
||||
retval = FAILURE;
|
||||
goto out;
|
||||
}
|
||||
server->router = _router;
|
||||
server->router_len = router_len;
|
||||
|
Loading…
Reference in New Issue
Block a user