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:
Tjerk Meesters 2014-08-23 09:21:36 +08:00
commit 86674b5837
3 changed files with 45 additions and 1 deletions

3
NEWS
View file

@ -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! >>>

View file

@ -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);

View 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)