summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorXinchen Hui <laruence@gmail.com>2017-05-09 11:04:39 +0800
committerXinchen Hui <laruence@gmail.com>2017-05-09 11:04:39 +0800
commitd40a852919f50c152a1273ddddaa5df506da284a (patch)
tree26eff869cf27f4277c00d09acb7ddc14ab43d59b
parent99549ce79c79ad43a883e76fc95e3c508051039e (diff)
parentb39c70b4a7101c2939c49826e1bbd89ae79931f3 (diff)
downloadphp-git-d40a852919f50c152a1273ddddaa5df506da284a.tar.gz
Merge branch 'fix_74541' of https://github.com/villfa/php-src into PHP-7.0
* 'fix_74541' of https://github.com/villfa/php-src: Fix Bug #74541 Wrong reflection on session_start()
-rw-r--r--ext/session/session.c6
-rw-r--r--ext/session/tests/bug74541.phpt18
2 files changed, 23 insertions, 1 deletions
diff --git a/ext/session/session.c b/ext/session/session.c
index 589d9b2507..2c4b30fc2b 100644
--- a/ext/session/session.c
+++ b/ext/session/session.c
@@ -2554,6 +2554,10 @@ ZEND_BEGIN_ARG_INFO(arginfo_session_class_updateTimestamp, 0)
ZEND_ARG_INFO(0, key)
ZEND_ARG_INFO(0, val)
ZEND_END_ARG_INFO()
+
+ZEND_BEGIN_ARG_INFO_EX(arginfo_session_start, 0, 0, 0)
+ ZEND_ARG_INFO(0, options) /* array */
+ZEND_END_ARG_INFO()
/* }}} */
/* {{{ session_functions[]
@@ -2566,7 +2570,7 @@ static const zend_function_entry session_functions[] = {
PHP_FE(session_regenerate_id, arginfo_session_regenerate_id)
PHP_FE(session_decode, arginfo_session_decode)
PHP_FE(session_encode, arginfo_session_void)
- PHP_FE(session_start, arginfo_session_void)
+ PHP_FE(session_start, arginfo_session_start)
PHP_FE(session_destroy, arginfo_session_void)
PHP_FE(session_unset, arginfo_session_void)
PHP_FE(session_set_save_handler, arginfo_session_set_save_handler)
diff --git a/ext/session/tests/bug74541.phpt b/ext/session/tests/bug74541.phpt
new file mode 100644
index 0000000000..8c70ebe126
--- /dev/null
+++ b/ext/session/tests/bug74541.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Bug #74541 Wrong reflection on session_start()
+--SKIPIF--
+<?php
+include('skipif.inc');
+if (!extension_loaded('reflection')) die("skip");
+?>
+--FILE--
+<?php
+$r = new ReflectionFunction('session_start');
+var_dump($r->getNumberOfParameters());
+var_dump($r->getNumberOfRequiredParameters());
+?>
+===DONE===
+--EXPECT--
+int(1)
+int(0)
+===DONE===