From b50366f15360cde9de68e2c7405dfc1cb3609e58 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 31 Oct 2024 18:40:08 +0100 Subject: [PATCH 1/2] Properly initialize _override executor globals These have been introduced a while ago[1], but their initialization has been overlooked. Since we cannot rely on TLS variables to be zeroed, we catch up on this. [1] --- Zend/zend.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Zend/zend.c b/Zend/zend.c index 097018bf8bf7..8f87255c4181 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -803,6 +803,8 @@ static void executor_globals_ctor(zend_executor_globals *executor_globals) /* {{ executor_globals->record_errors = false; executor_globals->num_errors = 0; executor_globals->errors = NULL; + executor_globals->filename_override = NULL; + executor_globals->lineno_override = 0; #ifdef ZEND_MAX_EXECUTION_TIMERS executor_globals->pid = 0; executor_globals->oldact = (struct sigaction){0}; From 3eaec9f1d1339837013f39c04857fee731bfe926 Mon Sep 17 00:00:00 2001 From: "Christoph M. Becker" Date: Thu, 31 Oct 2024 22:56:42 +0100 Subject: [PATCH 2/2] fix initializer Co-authored-by: Ilija Tovilo --- Zend/zend.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Zend/zend.c b/Zend/zend.c index 8f87255c4181..d14b90a8d9cc 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -804,7 +804,7 @@ static void executor_globals_ctor(zend_executor_globals *executor_globals) /* {{ executor_globals->num_errors = 0; executor_globals->errors = NULL; executor_globals->filename_override = NULL; - executor_globals->lineno_override = 0; + executor_globals->lineno_override = -1; #ifdef ZEND_MAX_EXECUTION_TIMERS executor_globals->pid = 0; executor_globals->oldact = (struct sigaction){0};