From a4471f70f08a09cc80dcc7ebed7c80a69725f5dc Mon Sep 17 00:00:00 2001 From: Marcus Boerger Date: Thu, 18 May 2006 22:07:31 +0000 Subject: [PATCH] - Fix bug #37510 session_regenerate_id changes session_id() even on failure --- ext/session/session.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/ext/session/session.c b/ext/session/session.c index 194380edff..3073406dea 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1364,6 +1364,11 @@ PHP_FUNCTION(session_regenerate_id) WRONG_PARAM_COUNT; } + if (SG(headers_sent)) { + php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot regenerate session id - headers already sent"); + RETURN_FALSE; + } + if (PS(session_status) == php_session_active) { if (PS(id)) { if (del_ses && PS(mod)->s_destroy(&PS(mod_data), PS(id) TSRMLS_CC) == FAILURE) { @@ -1720,6 +1725,6 @@ PHP_MINFO_FUNCTION(session) * tab-width: 4 * c-basic-offset: 4 * End: - * vim600: sw=4 ts=4 fdm=marker + * vim600: noet sw=4 ts=4 fdm=marker * vim<600: sw=4 ts=4 */ -- 2.50.1