From 56c320c51fb03116a1731cd99523d8d23084d020 Mon Sep 17 00:00:00 2001 From: guoyiyuan Date: Wed, 13 Jul 2022 20:55:51 +0800 Subject: [PATCH] Prevent potential buffer overflow for large value of php_cli_server_workers_max --- sapi/cli/php_cli_server.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/sapi/cli/php_cli_server.c b/sapi/cli/php_cli_server.c index 3663d2c4d24e2..0f2733f72c33d 100644 --- a/sapi/cli/php_cli_server.c +++ b/sapi/cli/php_cli_server.c @@ -2335,7 +2335,7 @@ static void php_cli_server_dtor(php_cli_server *server) /* {{{ */ !WIFSIGNALED(php_cli_server_worker_status)); } - free(php_cli_server_workers); + pefree(php_cli_server_workers, 1); } #endif } /* }}} */ @@ -2421,12 +2421,8 @@ static void php_cli_server_startup_workers(void) { if (php_cli_server_workers_max > 1) { zend_long php_cli_server_worker; - php_cli_server_workers = calloc( - php_cli_server_workers_max, sizeof(pid_t)); - if (!php_cli_server_workers) { - php_cli_server_workers_max = 1; - return; - } + php_cli_server_workers = pecalloc( + php_cli_server_workers_max, sizeof(pid_t), 1); php_cli_server_master = getpid();