Browse Source

Merge branch 'PHP-5.6'

* PHP-5.6:
  Fixed bug #68063 Empty session IDs do still start sessions

Conflicts:
	ext/session/session.c
	ext/session/tests/bug61470.phpt
pull/1045/head
Yasuo Ohgaki 11 years ago
parent
commit
5afe554d32
  1. 5
      ext/session/session.c
  2. 20
      ext/session/tests/bug68063.phpt

5
ext/session/session.c

@ -2201,6 +2201,11 @@ static PHP_FUNCTION(session_start)
RETURN_FALSE;
}
if (PS(id) && !(PS(id)->len)) {
php_error_docref(NULL TSRMLS_CC, E_WARNING, "Cannot start session with empty session ID");
RETURN_FALSE;
}
/* set options */
if (options) {
ZEND_HASH_FOREACH_KEY_VAL(Z_ARRVAL_P(options), num_idx, str_idx, value) {

20
ext/session/tests/bug68063.phpt

@ -0,0 +1,20 @@
--TEST--
Bug #68063 (Empty session IDs do still start sessions)
--SKIPIF--
<?php include('skipif.inc'); ?>
--INI--
--FILE--
<?php
// Could also be set with a cookie like "PHPSESSID=; path=/"
session_id('');
// Will still start the session and return true
var_dump(session_start());
// Returns an empty string
var_dump(session_id());
?>
--EXPECTF--
Warning: session_start(): Cannot start session with empty session ID in %s on line %d
bool(false)
string(0) ""
Loading…
Cancel
Save