[php-src] PR #25407: Fix GH-25388: Stale ext/date tz cache after logging during startup
| From: | lazerg | Date: | Thu, 12 Nov 2026 04:01:00 +0000 |
| Subject: | [php-src] PR #25407: Fix GH-25388: Stale ext/date tz cache after logging during startup | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-40562@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/25407
Author: lazerg
When an error is logged during module startup,
php_format_date() fills
DATEG(tzcache) with startup memory. That memory is freed before the first request, but
the pointer stays set, so a log written at request startup before RINIT (here the missing
output_handler) reads the freed table. On the other hand, a cache built at request
startup leaked, because RINIT reset the pointer to NULL.
The cache is now skipped while the executor is not active, and RINIT no longer clears it, since
post-deactivate already frees it and sets it back to NULL.
Fixes #25388