diff --git a/ext/session/session.c b/ext/session/session.c index 5ea341d0bb2..aa9883ab1df 100644 --- a/ext/session/session.c +++ b/ext/session/session.c @@ -1875,13 +1875,13 @@ PHP_FUNCTION(session_get_cookie_params) } /* }}} */ -/* {{{ Return the current session name. If newname is given, the session name is replaced with newname */ +/* {{{ Return the current session name. If new name is given, the session name is replaced with new name */ PHP_FUNCTION(session_name) { zend_string *name = NULL; zend_string *ini_name; - if (zend_parse_parameters(ZEND_NUM_ARGS(), "|S!", &name) == FAILURE) { + if (zend_parse_parameters(ZEND_NUM_ARGS(), "|P!", &name) == FAILURE) { RETURN_THROWS(); } diff --git a/ext/session/tests/session_name_variation1.phpt b/ext/session/tests/session_name_variation1.phpt index 07fb7f10ca8..ef68b80b3de 100644 --- a/ext/session/tests/session_name_variation1.phpt +++ b/ext/session/tests/session_name_variation1.phpt @@ -15,12 +15,6 @@ ob_start(); echo "*** Testing session_name() : variation ***\n"; -var_dump(session_name("\0")); -var_dump(session_start()); -var_dump(session_name()); -var_dump(session_destroy()); -var_dump(session_name()); - var_dump(session_name("\t")); var_dump(session_start()); var_dump(session_name()); @@ -39,11 +33,6 @@ ob_end_flush(); --EXPECTF-- *** Testing session_name() : variation *** string(9) "PHPSESSID" -bool(true) -string(9) "PHPSESSID" -bool(true) -string(9) "PHPSESSID" -string(9) "PHPSESSID" Warning: session_start(): session.name cannot contain any of the following '=,;.[ \t\r\n\013\014' in %s on line %d bool(true) diff --git a/ext/session/tests/session_name_variation_null_byte.phpt b/ext/session/tests/session_name_variation_null_byte.phpt new file mode 100644 index 00000000000..84b6ccfb1e6 --- /dev/null +++ b/ext/session/tests/session_name_variation_null_byte.phpt @@ -0,0 +1,21 @@ +--TEST-- +Test session_name() function : null byte in session name +--EXTENSIONS-- +session +--SKIPIF-- + +--FILE-- +getMessage(). "\n"; +} + +echo "Done"; +?> +--EXPECT-- +session_name(): Argument #1 ($name) must not contain any null bytes +Done