mirror of
https://github.com/php/php-src.git
synced 2025-08-15 21:48:51 +02:00
Merge branch 'PHP-5.6'
* PHP-5.6: Fixed #67694: Regression in session_regenerate_id() Conflicts: ext/session/session.c
This commit is contained in:
commit
86674b5837
3 changed files with 45 additions and 1 deletions
3
NEWS
3
NEWS
|
@ -31,4 +31,7 @@ PHP NEWS
|
|||
- GD:
|
||||
. Made fontFetch's path parser thread-safe. (Sara)
|
||||
|
||||
- Session:
|
||||
. Fixed bug #67694 (Regression in session_regenerate_id()). (Tjerk)
|
||||
|
||||
<<< NOTE: Insert NEWS from last stable release here prior to actual release! >>>
|
||||
|
|
|
@ -1979,7 +1979,7 @@ static PHP_FUNCTION(session_regenerate_id)
|
|||
RETURN_FALSE;
|
||||
}
|
||||
STR_RELEASE(PS(id));
|
||||
PS(id) = NULL;
|
||||
memset(PS(session_data_hash),'\0', 16);
|
||||
}
|
||||
|
||||
PS(id) = PS(mod)->s_create_sid(&PS(mod_data) 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