Fix #63379 - Don't reset mod_user_is_open in destroy

The parent handler is still open so the reset here was in error.
This commit is contained in:
Arpad Ray 2012-12-13 23:51:43 +00:00
parent ef37055c34
commit 6566ea6173
3 changed files with 114 additions and 1 deletions

View file

@ -121,7 +121,6 @@ PHP_METHOD(SessionHandler, destroy)
return;
}
PS(mod_user_is_open) = 0;
RETVAL_BOOL(SUCCESS == PS(default_mod)->s_destroy(&PS(mod_data), key TSRMLS_CC));
}
/* }}} */

View file

@ -0,0 +1,57 @@
--TEST--
Bug #63379: Warning when using session_regenerate_id(TRUE) with a SessionHandler
--INI--
session.save_handler=files
session.name=PHPSESSID
--SKIPIF--
<?php include('skipif.inc'); ?>
--FILE--
<?php
ob_start();
$handler = new SessionHandler;
session_set_save_handler($handler);
session_start();
$_SESSION['foo'] = 'hello';
var_dump($_SESSION);
session_regenerate_id(true);
echo "*** Regenerated ***\n";
var_dump($_SESSION);
$_SESSION['bar'] = 'world';
var_dump($_SESSION);
session_write_close();
session_unset();
session_start();
var_dump($_SESSION);
--EXPECTF--
array(1) {
["foo"]=>
string(5) "hello"
}
*** Regenerated ***
array(1) {
["foo"]=>
string(5) "hello"
}
array(2) {
["foo"]=>
string(5) "hello"
["bar"]=>
string(5) "world"
}
array(2) {
["foo"]=>
string(5) "hello"
["bar"]=>
string(5) "world"
}

View file

@ -0,0 +1,57 @@
--TEST--
Bug #63379: Warning when using session_regenerate_id(TRUE) with a SessionHandler
--INI--
session.save_handler=files
session.name=PHPSESSID
--SKIPIF--
<?php include('skipif.inc'); ?>
--FILE--
<?php
ob_start();
$handler = new SessionHandler;
session_set_save_handler($handler);
session_start();
$_SESSION['foo'] = 'hello';
var_dump($_SESSION);
session_regenerate_id(false);
echo "*** Regenerated ***\n";
var_dump($_SESSION);
$_SESSION['bar'] = 'world';
var_dump($_SESSION);
session_write_close();
session_unset();
session_start();
var_dump($_SESSION);
--EXPECTF--
array(1) {
["foo"]=>
string(5) "hello"
}
*** Regenerated ***
array(1) {
["foo"]=>
string(5) "hello"
}
array(2) {
["foo"]=>
string(5) "hello"
["bar"]=>
string(5) "world"
}
array(2) {
["foo"]=>
string(5) "hello"
["bar"]=>
string(5) "world"
}