com php-src: Fixed bug #74936 - session_*() functions trigger a warning in read mode when the sess ion is active: NEWS ext/session/session.c ext/ses
sion/tests/bug74936.phpt ext/session/tests/sessio n_cache_expire_basic.phpt ext/session/tests/session _cache_expire_variation1.phpt
ext/session/tests/ses sion_cache_expire_variation2.phpt ext/session/tests /session_cache_expire_variation3.phpt ext/session/t
ests/session_cache_limiter_variation1.phpt ext/ses
| From: | Nikita Popov | Date: | Tue, 18 Jul 2017 20:25:22 +0000 |
| Subject: | com php-src: Fixed bug #74936 - session_*() functions trigger a warning in read mode when the sess ion is active: NEWS ext/session/session.c ext/ses sion/tests/bug74936.phpt ext/session/tests/sessio n_cache_expire_basic.phpt ext/session/tests/session _cache_expire_variation1.phpt ext/session/tests/ses sion_cache_expire_variation2.phpt ext/session/tests /session_cache_expire_variation3.phpt ext/session/t ests/session_cache_limiter_variation1.phpt ext/ses |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-98626@lists.php.net to get a copy of this message | ||
Commit: 5b12b46a19bc37d073c4ac32e62fbe823f786e09
Author: Sergei Morozov <morozov@tut.by> Mon, 17 Jul 2017 12:39:34 +0300
Committer: Nikita Popov <nikita.ppv@gmail.com> Tue, 18 Jul 2017 22:25:22 +0200
Parents: a624ded4d3bf791526c9a99a59c20f03eaea8aa5
Branches: PHP-7.2 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=5b12b46a19bc37d073c4ac32e62fbe823f786e09
Log:
Fixed bug #74936 - session_*() functions trigger a warning in read mode when the session is active
Bugs:
https://bugs.php.net/74936
Changed paths:
M NEWS
M ext/session/session.c
A ext/session/tests/bug74936.phpt
M ext/session/tests/session_cache_expire_basic.phpt
M ext/session/tests/session_cache_expire_variation1.phpt
M ext/session/tests/session_cache_expire_variation2.phpt
M ext/session/tests/session_cache_expire_variation3.phpt
M ext/session/tests/session_cache_limiter_variation1.phpt
M ext/session/tests/session_cache_limiter_variation2.phpt
M ext/session/tests/session_save_path_variation1.phpt
Diff:
diff --git a/NEWS b/NEWS
index fe44c45..7ef1302 100644
--- a/NEWS
+++ b/NEWS
@@ -5,6 +5,11 @@ PHP NEWS
- Session:
. Fixed bug #74892 (Url Rewriting (trans_sid) not working on urls that start
with "#"). (Andrew Nester)
+ . Fixed bug #74936 (session_cache_expire/cache_limiter/save_path() trigger a
+ warning in read mode). (morozov)
+
+- SPL:
+ . Fixed bug #74669 (Unserialize ArrayIterator broken). (Andrew Nester)
20 Jul 2017, PHP 7.2.0beta1
diff --git a/ext/session/session.c b/ext/session/session.c
index 70f56a3..1e8321d 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -1999,7 +1999,7 @@ static PHP_FUNCTION(session_save_path)
return;
}
- if (PS(session_status) == php_session_active) {
+ if (name && PS(session_status) == php_session_active) {
php_error_docref(NULL, E_WARNING, "Cannot change save path when session is active");
RETURN_FALSE;
}
@@ -2227,7 +2227,7 @@ static PHP_FUNCTION(session_cache_limiter)
return;
}
- if (PS(session_status) == php_session_active) {
+ if (limiter && PS(session_status) == php_session_active) {
php_error_docref(NULL, E_WARNING, "Cannot change cache limiter when session is
active");
RETURN_FALSE;
}
@@ -2258,7 +2258,7 @@ static PHP_FUNCTION(session_cache_expire)
return;
}
- if (PS(session_status) == php_session_active) {
+ if (expires && PS(session_status) == php_session_active) {
php_error_docref(NULL, E_WARNING, "Cannot change cache expire when session is active");
RETURN_LONG(PS(cache_expire));
}
diff --git a/ext/session/tests/bug74936.phpt b/ext/session/tests/bug74936.phpt
new file mode 100644
index 0000000..aee7493
--- /dev/null
+++ b/ext/session/tests/bug74936.phpt
@@ -0,0 +1,20 @@
+--TEST--
+Bug #74936 session_cache_expire() triggers a warning in read mode.
+--SKIPIF--
+<?php
+include('skipif.inc');
+?>
+--FILE--
+<?php
+
+session_start();
+var_dump(session_cache_expire());
+var_dump(session_cache_limiter());
+var_dump(session_save_path());
+?>
+===DONE===
+--EXPECT--
+int(180)
+string(7) "nocache"
+string(0) ""
+===DONE===
diff --git a/ext/session/tests/session_cache_expire_basic.phpt
b/ext/session/tests/session_cache_expire_basic.phpt
index fb24000..7166485 100644
--- a/ext/session/tests/session_cache_expire_basic.phpt
+++ b/ext/session/tests/session_cache_expire_basic.phpt
@@ -32,8 +32,6 @@ int(180)
int(180)
int(1234567890)
bool(true)
-
-Warning: session_cache_expire(): Cannot change cache expire when session is active in %s on line 17
int(180)
bool(true)
int(180)
diff --git a/ext/session/tests/session_cache_expire_variation1.phpt
b/ext/session/tests/session_cache_expire_variation1.phpt
index 1a73249..9d0ba27 100644
--- a/ext/session/tests/session_cache_expire_variation1.phpt
+++ b/ext/session/tests/session_cache_expire_variation1.phpt
@@ -34,8 +34,6 @@ int(360)
int(360)
int(1234567890)
bool(true)
-
-Warning: session_cache_expire(): Cannot change cache expire when session is active in %s on line 17
int(180)
bool(true)
int(180)
diff --git a/ext/session/tests/session_cache_expire_variation2.phpt
b/ext/session/tests/session_cache_expire_variation2.phpt
index c3daae6..f17f471 100644
--- a/ext/session/tests/session_cache_expire_variation2.phpt
+++ b/ext/session/tests/session_cache_expire_variation2.phpt
@@ -33,8 +33,6 @@ int(360)
int(360)
int(1234567890)
bool(true)
-
-Warning: session_cache_expire(): Cannot change cache expire when session is active in %s on line 18
int(180)
bool(true)
int(180)
diff --git a/ext/session/tests/session_cache_expire_variation3.phpt
b/ext/session/tests/session_cache_expire_variation3.phpt
index d9f78df..c243c1f 100644
--- a/ext/session/tests/session_cache_expire_variation3.phpt
+++ b/ext/session/tests/session_cache_expire_variation3.phpt
@@ -38,8 +38,6 @@ string(3) "180"
int(180)
string(10) "1234567890"
bool(true)
-
-Warning: session_cache_expire(): Cannot change cache expire when session is active in %s on line 19
int(1234567890)
string(10) "1234567890"
bool(true)
diff --git a/ext/session/tests/session_cache_limiter_variation1.phpt
b/ext/session/tests/session_cache_limiter_variation1.phpt
index 7ba6211..5af208a 100644
--- a/ext/session/tests/session_cache_limiter_variation1.phpt
+++ b/ext/session/tests/session_cache_limiter_variation1.phpt
@@ -32,15 +32,11 @@ ob_end_flush();
*** Testing session_cache_limiter() : variation ***
string(7) "nocache"
bool(true)
-
-Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line
15
-bool(false)
+string(7) "nocache"
Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line
16
bool(false)
-
-Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line
17
-bool(false)
+string(7) "nocache"
bool(true)
string(7) "nocache"
Done
diff --git a/ext/session/tests/session_cache_limiter_variation2.phpt
b/ext/session/tests/session_cache_limiter_variation2.phpt
index 9457101..eb63d99 100644
--- a/ext/session/tests/session_cache_limiter_variation2.phpt
+++ b/ext/session/tests/session_cache_limiter_variation2.phpt
@@ -31,15 +31,11 @@ ob_end_flush();
*** Testing session_cache_limiter() : variation ***
string(7) "nocache"
bool(true)
-
-Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line
16
-bool(false)
+string(7) "nocache"
Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line
17
bool(false)
-
-Warning: session_cache_limiter(): Cannot change cache limiter when session is active in %s on line
18
-bool(false)
+string(7) "nocache"
bool(true)
string(7) "nocache"
Done
diff --git a/ext/session/tests/session_save_path_variation1.phpt
b/ext/session/tests/session_save_path_variation1.phpt
index 7f7130d..75533c8 100644
--- a/ext/session/tests/session_save_path_variation1.phpt
+++ b/ext/session/tests/session_save_path_variation1.phpt
@@ -42,15 +42,11 @@ string(0) ""
string(0) ""
string(%d) "%stests"
bool(true)
-
-Warning: session_save_path(): Cannot change save path when session is active in %s on line 19
-bool(false)
+string(%d) "%stests"
Warning: session_save_path(): Cannot change save path when session is active in %s on line 20
bool(false)
-
-Warning: session_save_path(): Cannot change save path when session is active in %s on line 21
-bool(false)
+string(%d) "%stests"
bool(true)
string(%d) "%stests"
Done