From e08c0ed8ced788a133b54ad96fdf681158b34e3d Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Tue, 27 Jun 2017 16:26:54 +0200 Subject: [PATCH] Bug #74815 crash with a combination of INI entries at startup TS related VCWD routines depend on CWD. Thus, a premature CWD deactivation renders the VCWD layer unusable. Same issue seems to persist in versions < 7.2, just that the code path is actually unused so the issue didn't show up. Still might make sense to backport this into lower branches. --- Zend/zend.c | 4 ---- main/main.c | 2 ++ tests/output/bug74815.phpt | 15 +++++++++++++++ 3 files changed, 17 insertions(+), 4 deletions(-) create mode 100644 tests/output/bug74815.phpt diff --git a/Zend/zend.c b/Zend/zend.c index 0cb0cc7d41..376e792eca 100644 --- a/Zend/zend.c +++ b/Zend/zend.c @@ -888,13 +888,9 @@ void zend_post_startup(void) /* {{{ */ } free(EG(zend_constants)); - virtual_cwd_deactivate(); - executor_globals_ctor(executor_globals); global_persistent_list = &EG(persistent_list); zend_copy_ini_directives(); -#else - virtual_cwd_deactivate(); #endif } /* }}} */ diff --git a/main/main.c b/main/main.c index 90dc78d8b4..4ef2b41639 100644 --- a/main/main.c +++ b/main/main.c @@ -2359,6 +2359,8 @@ int php_module_startup(sapi_module_struct *sf, zend_module_entry *additional_mod } zend_end_try(); } + virtual_cwd_deactivate(); + sapi_deactivate(); module_startup = 0; diff --git a/tests/output/bug74815.phpt b/tests/output/bug74815.phpt new file mode 100644 index 0000000000..be4fa1b2cb --- /dev/null +++ b/tests/output/bug74815.phpt @@ -0,0 +1,15 @@ +--TEST-- +Bug #74815 crash with a combination of INI entries at startup +--FILE-- + +==DONE== +--EXPECTF-- +Deprecated: Directive 'track_errors' is deprecated in Unknown on line 0 +%A +==DONE== -- 2.50.1