From d5dc0ce518b7803128fecf5b98087706387c31a4 Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Wed, 23 Oct 2024 21:57:31 +0200 Subject: [PATCH] Fix GH-16432: PHP-FPM 8.2 SIGSEGV in fpm_get_status --- sapi/fpm/fpm/fpm_status.c | 5 +- .../fpm/tests/gh16432-status-high-nprocs.phpt | 46 +++++++++++++++++++ 2 files changed, 50 insertions(+), 1 deletion(-) create mode 100644 sapi/fpm/tests/gh16432-status-high-nprocs.phpt diff --git a/sapi/fpm/fpm/fpm_status.c b/sapi/fpm/fpm/fpm_status.c index f698753cf4c65..cebaa18c964bd 100644 --- a/sapi/fpm/fpm/fpm_status.c +++ b/sapi/fpm/fpm/fpm_status.c @@ -62,7 +62,8 @@ int fpm_status_export_to_zval(zval *status) /* copy the scoreboard not to bother other processes */ scoreboard = *scoreboard_p; - struct fpm_scoreboard_proc_s procs[scoreboard.nprocs]; + struct fpm_scoreboard_proc_s *procs = safe_emalloc( + sizeof(struct fpm_scoreboard_proc_s), scoreboard.nprocs, 0); struct fpm_scoreboard_proc_s *proc_p; for(i=0; i +--FILE-- +createSourceFileAndScriptName(); +$tester->start(); +$tester->expectLogStartNotices(); +$tester->request()->expectBody('bool(false)'); +$tester->terminate(); +$tester->expectLogTerminatingNotices(); +$tester->close(); + +?> +Done +--EXPECT-- +Done +--CLEAN-- +