summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTyson Andre <tysonandre775@hotmail.com>2017-06-07 23:50:20 -0700
committerRemi Collet <remi@php.net>2017-06-13 08:11:25 +0200
commit81b2533a68ffc4fdc7ba0a4b8e516fe1a495451f (patch)
tree531506aaa58aea07c60808fc138f0c3d1e889c68
parent3968ffe7b36728abbfb1e72ba04a749c2a10c59e (diff)
downloadphp-git-81b2533a68ffc4fdc7ba0a4b8e516fe1a495451f.tar.gz
Fixes bug #74708 reflection signatures for random_bytes+random_int
They have 1 and 2 required parameters, respectively See https://secure.php.net/manual/en/function.random-int.php
-rw-r--r--ext/standard/basic_functions.c4
-rw-r--r--ext/standard/tests/random/reflection.phpt19
2 files changed, 21 insertions, 2 deletions
diff --git a/ext/standard/basic_functions.c b/ext/standard/basic_functions.c
index 99ca20f550..7671cabbb5 100644
--- a/ext/standard/basic_functions.c
+++ b/ext/standard/basic_functions.c
@@ -1912,11 +1912,11 @@ ZEND_BEGIN_ARG_INFO(arginfo_mt_getrandmax, 0)
ZEND_END_ARG_INFO()
/* }}} */
/* {{{ random.c */
-ZEND_BEGIN_ARG_INFO_EX(arginfo_random_bytes, 0, 0, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_random_bytes, 0, 0, 1)
ZEND_ARG_INFO(0, length)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO_EX(arginfo_random_int, 0, 0, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_random_int, 0, 0, 2)
ZEND_ARG_INFO(0, min)
ZEND_ARG_INFO(0, max)
ZEND_END_ARG_INFO()
diff --git a/ext/standard/tests/random/reflection.phpt b/ext/standard/tests/random/reflection.phpt
new file mode 100644
index 0000000000..2df6a33be7
--- /dev/null
+++ b/ext/standard/tests/random/reflection.phpt
@@ -0,0 +1,19 @@
+--TEST--
+Bug #74708 Wrong reflection on random_bytes and random_int
+--FILE--
+<?php
+$rf = new ReflectionFunction('random_bytes');
+var_dump($rf->getNumberOfParameters());
+var_dump($rf->getNumberOfRequiredParameters());
+
+$rf = new ReflectionFunction('random_int');
+var_dump($rf->getNumberOfParameters());
+var_dump($rf->getNumberOfRequiredParameters());
+?>
+===DONE===
+--EXPECT--
+int(1)
+int(1)
+int(2)
+int(2)
+===DONE===