From ecc7433b07268263946a0ecc1bcbaa3c7ddcdd56 Mon Sep 17 00:00:00 2001 From: Ilija Tovilo Date: Tue, 19 Apr 2022 23:42:33 +0200 Subject: [PATCH] Fix leak introduced by GH-8241 Temporarily store result of ini builder in ini_entries to avoid a leak when main() exists prematurely. Technically ini_entries isn't released either but ASAN doesn't consider unreleased memory referenced from globals leaks. --- sapi/fpm/fpm/fpm_main.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/sapi/fpm/fpm/fpm_main.c b/sapi/fpm/fpm/fpm_main.c index fe8195d1a8d66..b04763d62489a 100644 --- a/sapi/fpm/fpm/fpm_main.c +++ b/sapi/fpm/fpm/fpm_main.c @@ -1586,6 +1586,8 @@ int main(int argc, char *argv[]) case 'd': /* define ini entries on command line */ php_ini_builder_define(&ini_builder, php_optarg); + /* main can terminate without finishing or deiniting the ini builder, call finish each iteration to avoid leaking the buffer */ + cgi_sapi_module.ini_entries = php_ini_builder_finish(&ini_builder); break; case 'y':