summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--NEWS2
-rw-r--r--ext/session/session.c6
2 files changed, 5 insertions, 3 deletions
diff --git a/NEWS b/NEWS
index 78d6bcd1a8..3eae7a5ab0 100644
--- a/NEWS
+++ b/NEWS
@@ -70,6 +70,8 @@ PHP NEWS
- Fixed PECL bug #11216 (crash in ZipArchive::addEmptyDir when a directory
already exists). (Pierre)
+- Fixed bug #42135 (Second call of session_start() causes creation of SID).
+ (Ilia)
- Fixed Bug #42112 (deleting a node produces memory corruption). (Rob)
- Fixed Bug #42107 (sscanf broken when using %2$s format parameters). (Jani)
- Fixed bug #42090 (json_decode causes segmentation fault). (Hannes)
diff --git a/ext/session/session.c b/ext/session/session.c
index 3de93efe87..3dfda00d6f 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -1221,10 +1221,7 @@ PHPAPI void php_session_start(TSRMLS_D)
PS(apply_trans_sid) = PS(use_trans_sid);
- PS(define_sid) = 1;
- PS(send_cookie) = 1;
if (PS(session_status) != php_session_none) {
-
if (PS(session_status) == php_session_disabled) {
char *value;
@@ -1241,6 +1238,9 @@ PHPAPI void php_session_start(TSRMLS_D)
php_error(E_NOTICE, "A session had already been started - ignoring session_start()");
return;
+ } else {
+ PS(define_sid) = 1;
+ PS(send_cookie) = 1;
}
lensess = strlen(PS(session_name));