You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
broken session id code can cause zend_mm_heap corrupted #23043
But I expected this output instead (this already happens ~70% of the time):
Warning: SessionHandler::write(): Session ID is too long or contains illegal characters. Only the A-Z, a-z, 0-9, "-", and "," characters are allowed in /tmp/bug.php on line 17
Warning: session_write_close(): Failed to write session data using user defined save handler. (session.save_path: , handler: a::write) in /tmp/bug.php on line 17
Warning: SessionHandler::write(): Session ID is too long or contains illegal characters. Only the A-Z, a-z, 0-9, "-", and "," characters are allowed in Unknown on line 0
Warning: session_write_close(): Failed to write session data using user defined save handler. (session.save_path: , handler: a::write) in Unknown on line 0
PHP Version
PHP 8.5.9 (cli) (built: Aug 3 2026 17:04:37) (NTS DEBUG)
Copyright (c) The PHP Group
Zend Engine v4.5.9, Copyright (c) Zend Technologies
with Zend OPcache v8.5.9, Copyright (c), by Zend Technologies
Also triggers on newest trunk https://github.com/php/php-src/commit/588dd04
Or if the old (invalid) session id must remain visible until after the call, then PS(id) must be stored in a local and released after the call. However, since the id is either missing or invalid at the point of the call, I presume that the above patch suffices.
Activity
ndossche commentedon Aug 4, 2026
Straightforward:
Or if the old (invalid) session id must remain visible until after the call, then
PS(id)must be stored in a local and released after the call. However, since the id is either missing or invalid at the point of the call, I presume that the above patch suffices.Merge branch 'PHP-8.5'
Fix phpGH-23043: broken session id code can cause zend_mm_heap corrupted
Merge branch 'PHP-8.4' into PHP-8.5