mirror of
https://github.com/php/php-src.git
synced 2025-08-16 05:58:45 +02:00
Fixed #67694: Regression in session_regenerate_id()
This commit is contained in:
parent
3b82c4e520
commit
ce9bdae33f
3 changed files with 45 additions and 1 deletions
3
NEWS
3
NEWS
|
@ -16,6 +16,9 @@ PHP NEWS
|
|||
- Zlib:
|
||||
. Fixed bug #67865 (internal corruption phar error). Mike
|
||||
|
||||
- Session:
|
||||
. Fixed bug #67694 (Regression in session_regenerate_id()). (Tjerk)
|
||||
|
||||
14 Aug 2014, PHP 5.6.0 Release Candidate 4
|
||||
|
||||
- COM:
|
||||
|
|
|
@ -1994,7 +1994,7 @@ static PHP_FUNCTION(session_regenerate_id)
|
|||
RETURN_FALSE;
|
||||
}
|
||||
efree(PS(id));
|
||||
PS(id) = NULL;
|
||||
memset(PS(session_data_hash),'\0', 16);
|
||||
}
|
||||
|
||||
PS(id) = PS(mod)->s_create_sid(&PS(mod_data), NULL TSRMLS_CC);
|
||||
|
|
41
ext/session/tests/bug67694.phpt
Normal file
41
ext/session/tests/bug67694.phpt
Normal file
|
@ -0,0 +1,41 @@
|
|||
--TEST--
|
||||
Bug #67694 Regression in session_regenerate_id()
|
||||
--INI--
|
||||
session.save_handler = files
|
||||
session.name=PHPSESSID
|
||||
session.auto_start = 0
|
||||
session.use_cookies = 0
|
||||
session.cache_limiter =
|
||||
date.timezone = UTC
|
||||
--SKIPIF--
|
||||
<?php include('skipif.inc'); ?>
|
||||
--FILE--
|
||||
<?php
|
||||
|
||||
$data = date('r');
|
||||
|
||||
session_start();
|
||||
$id = session_id();
|
||||
$_SESSION['init'] = $data;
|
||||
|
||||
session_write_close();
|
||||
|
||||
session_id($id);
|
||||
session_start();
|
||||
|
||||
session_regenerate_id(false);
|
||||
|
||||
$newid = session_id();
|
||||
var_dump($newid != $id);
|
||||
|
||||
session_write_close();
|
||||
|
||||
unset($_SESSION);
|
||||
|
||||
session_id($newid);
|
||||
session_start();
|
||||
|
||||
var_dump(isset($_SESSION['init']) && $data == $_SESSION['init']);
|
||||
--EXPECT--
|
||||
bool(true)
|
||||
bool(true)
|
Loading…
Add table
Add a link
Reference in a new issue