summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMarcus Boerger <helly@php.net>2006-05-18 22:12:26 +0000
committerMarcus Boerger <helly@php.net>2006-05-18 22:12:26 +0000
commitaa0172a4da0df0c36d2ff4e83eace0df5f3a63d9 (patch)
tree1b966725e5e87dc9e5a04b9bd41e87536974289b
parent5e5327a7e0e5d3528ce8fb0a507a01ea2cecf484 (diff)
downloadphp-git-aa0172a4da0df0c36d2ff4e83eace0df5f3a63d9.tar.gz
- MFH Fix bug #37510 session_regenerate_id changes session_id() even on failure
-rw-r--r--NEWS2
-rw-r--r--ext/session/session.c7
2 files changed, 8 insertions, 1 deletions
diff --git a/NEWS b/NEWS
index 9ba239a057..7de2226562 100644
--- a/NEWS
+++ b/NEWS
@@ -39,6 +39,8 @@ PHP NEWS
- Added pg_field_table() function. (Edin)
- Added implementation of curl_multi_info_read(). (Brian)
- Added RFC2397 (data: stream) support. (Marcus)
+- Fixed bug #37510 (session_regenerate_id changes session_id() even on
+ failure). (Hannes)
- Fixed bug #37487 (oci_fetch_array() array-type should always default to
OCI_BOTH). (Tony)
- Fixed bug #37395 (recursive mkdir() fails to create nonexistent directories
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
*/