From 3c5b43797752761c40e6f065aad5e54fcbcf7e4b Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Fri, 30 Jul 2021 15:36:12 +0200 Subject: [PATCH] Fix #78919: CLI server: insufficient cleanup if request startup fails We need to run the full `php_cli_server_request_shutdown()` in case of failing `php_cli_server_request_startup()`. Patch contributed by @cataphract. --- sapi/cli/php_cli_server.c | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index c3097861e3f28..1715ba6b2ae52 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -2188,8 +2188,6 @@ static int php_cli_server_request_startup(php_cli_server *server, php_cli_server } SG(sapi_headers).http_response_code = 200; if (FAILURE == php_request_startup()) { - /* should never be happen */ - destroy_request_info(&SG(request_info)); return FAILURE; } PG(during_request_startup) = 0; @@ -2259,9 +2257,7 @@ static int php_cli_server_dispatch(php_cli_server *server, php_cli_server_client if (server->router || !is_static_file) { if (FAILURE == php_cli_server_request_startup(server, client)) { - SG(server_context) = NULL; - php_cli_server_close_connection(server, client); - destroy_request_info(&SG(request_info)); + php_cli_server_request_shutdown(server, client); return SUCCESS; } }