diff options
| author | Marcus Boerger <helly@php.net> | 2006-05-18 22:12:26 +0000 |
|---|---|---|
| committer | Marcus Boerger <helly@php.net> | 2006-05-18 22:12:26 +0000 |
| commit | aa0172a4da0df0c36d2ff4e83eace0df5f3a63d9 (patch) | |
| tree | 1b966725e5e87dc9e5a04b9bd41e87536974289b /ext/session | |
| parent | 5e5327a7e0e5d3528ce8fb0a507a01ea2cecf484 (diff) | |
| download | php-git-aa0172a4da0df0c36d2ff4e83eace0df5f3a63d9.tar.gz | |
- MFH Fix bug #37510 session_regenerate_id changes session_id() even on failure
Diffstat (limited to 'ext/session')
| -rw-r--r-- | ext/session/session.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/ext/session/session.c b/ext/session/session.c index a15549c433..dc7939ea16 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1475,6 +1475,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) { @@ -1930,6 +1935,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 */ |
