From 8f5de8ddcf5fea43928cf2358b95f3de1ab5ade9 Mon Sep 17 00:00:00 2001 From: Yasuo Ohgaki Date: Thu, 16 Jan 2014 11:40:33 +0900 Subject: Update NEWS --- NEWS | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/NEWS b/NEWS index cffe5ae7d0..aa4e4d662c 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ PHP NEWS - Core: . Fixed bug #66286 (Incorrect object comparison with inheritance). (Nikita) +- Session: + . Fixed bug #66481 (Segfaults on session_name()). + (cmcdermottroe at engineyard dot com, Yasuo) + ?? ??? 2013, PHP 5.4.24 - Core: -- cgit v1.2.1 From 57cf8eaccd7098d57f4dfd8004c334559029746b Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Thu, 16 Jan 2014 14:38:22 +0800 Subject: Revert "Update NEWS" This reverts commit 8f5de8ddcf5fea43928cf2358b95f3de1ab5ade9. --- NEWS | 4 ---- 1 file changed, 4 deletions(-) diff --git a/NEWS b/NEWS index aa4e4d662c..cffe5ae7d0 100644 --- a/NEWS +++ b/NEWS @@ -5,10 +5,6 @@ PHP NEWS - Core: . Fixed bug #66286 (Incorrect object comparison with inheritance). (Nikita) -- Session: - . Fixed bug #66481 (Segfaults on session_name()). - (cmcdermottroe at engineyard dot com, Yasuo) - ?? ??? 2013, PHP 5.4.24 - Core: -- cgit v1.2.1 From 271053ad470e4b7f0e1eb46dfc1a4369d5c7baa2 Mon Sep 17 00:00:00 2001 From: Xinchen Hui Date: Thu, 16 Jan 2014 14:38:35 +0800 Subject: Revert "Bug #66481 Segfaults on session_name()" This reverts commit 5662ffb295c6f9cb10768d8246f2656aae6b8abb. --- ext/session/session.c | 7 ------- ext/session/tests/bug66481.phpt | 16 ---------------- 2 files changed, 23 deletions(-) delete mode 100644 ext/session/tests/bug66481.phpt diff --git a/ext/session/session.c b/ext/session/session.c index 5ea38475db..35db50ae64 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -617,13 +617,6 @@ static PHP_INI_MH(OnUpdateSaveDir) /* {{{ */ static PHP_INI_MH(OnUpdateName) /* {{{ */ { - /* Don't accept a blank session name from php.ini or -d session.name= */ - if (!PG(modules_activated) && !new_value_length) { - /* Force the default value. */ - new_value = "PHPSESSID"; - new_value_length = 9; - } - /* Numeric session.name won't work at all */ if (PG(modules_activated) && (!new_value_length || is_numeric_string(new_value, new_value_length, NULL, NULL, 0))) { diff --git a/ext/session/tests/bug66481.phpt b/ext/session/tests/bug66481.phpt deleted file mode 100644 index 0479b5ff4d..0000000000 --- a/ext/session/tests/bug66481.phpt +++ /dev/null @@ -1,16 +0,0 @@ ---TEST-- -Bug #66481: Calls to session_name() segfault when session.name is null. ---INI-- -session.name= ---SKIPIF-- - ---FILE-- - Date: Thu, 16 Jan 2014 14:41:12 +0800 Subject: Re-fixed Bug #66481 (Calls to session_name() segfault when session.name is null) --- NEWS | 4 ++++ ext/session/session.c | 5 ++--- ext/session/tests/bug66481.phpt | 17 +++++++++++++++++ 3 files changed, 23 insertions(+), 3 deletions(-) create mode 100644 ext/session/tests/bug66481.phpt diff --git a/NEWS b/NEWS index cffe5ae7d0..81f88bf07f 100644 --- a/NEWS +++ b/NEWS @@ -5,6 +5,10 @@ PHP NEWS - Core: . Fixed bug #66286 (Incorrect object comparison with inheritance). (Nikita) +- Session: + . Fixed bug #66481 (Calls to session_name() segfault when session.name is + null). (Laruence) + ?? ??? 2013, PHP 5.4.24 - Core: diff --git a/ext/session/session.c b/ext/session/session.c index 35db50ae64..5b03d6362e 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -618,11 +618,10 @@ static PHP_INI_MH(OnUpdateSaveDir) /* {{{ */ static PHP_INI_MH(OnUpdateName) /* {{{ */ { /* Numeric session.name won't work at all */ - if (PG(modules_activated) && - (!new_value_length || is_numeric_string(new_value, new_value_length, NULL, NULL, 0))) { + if ((!new_value_length || is_numeric_string(new_value, new_value_length, NULL, NULL, 0))) { int err_type; - if (stage == ZEND_INI_STAGE_RUNTIME) { + if (stage == ZEND_INI_STAGE_RUNTIME || stage == ZEND_INI_STAGE_ACTIVATE || stage == ZEND_INI_STAGE_STARTUP) { err_type = E_WARNING; } else { err_type = E_ERROR; diff --git a/ext/session/tests/bug66481.phpt b/ext/session/tests/bug66481.phpt new file mode 100644 index 0000000000..cf6ad6a8d6 --- /dev/null +++ b/ext/session/tests/bug66481.phpt @@ -0,0 +1,17 @@ +--TEST-- +Bug #66481: Calls to session_name() segfault when session.name is null. +--INI-- +session.name= +--SKIPIF-- + +--FILE-- +