summaryrefslogtreecommitdiff
path: root/ext
diff options
context:
space:
mode:
authorFabien Villepinte <fabien.villepinte@gmail.com>2017-10-27 14:14:04 +0200
committerJoe Watkins <krakjoe@php.net>2017-10-27 16:06:01 +0100
commit51ea2cfbe1c8c3cbfdc381c6f2ff4d43af520938 (patch)
treec3a6c6dd6f92b1656b9c7c01131154ef234eb97b /ext
parent15a71fe045a476e864900657fc8d4d3586aafd02 (diff)
downloadphp-git-51ea2cfbe1c8c3cbfdc381c6f2ff4d43af520938.tar.gz
Fix bug #75307 Wrong reflection for openssl_open function
Diffstat (limited to 'ext')
-rw-r--r--ext/openssl/openssl.c9
-rw-r--r--ext/openssl/tests/bug75307.phpt18
2 files changed, 23 insertions, 4 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c
index 9b8a2fc968..41d65533a5 100644
--- a/ext/openssl/openssl.c
+++ b/ext/openssl/openssl.c
@@ -358,17 +358,18 @@ ZEND_END_ARG_INFO()
ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_seal, 0, 0, 4)
ZEND_ARG_INFO(0, data)
ZEND_ARG_INFO(1, sealdata)
- ZEND_ARG_INFO(1, ekeys) /* arary */
+ ZEND_ARG_INFO(1, ekeys) /* array */
ZEND_ARG_INFO(0, pubkeys) /* array */
ZEND_ARG_INFO(0, method)
ZEND_ARG_INFO(1, iv)
ZEND_END_ARG_INFO()
-ZEND_BEGIN_ARG_INFO(arginfo_openssl_open, 0)
+ZEND_BEGIN_ARG_INFO_EX(arginfo_openssl_open, 0, 0, 4)
ZEND_ARG_INFO(0, data)
ZEND_ARG_INFO(1, opendata)
ZEND_ARG_INFO(0, ekey)
ZEND_ARG_INFO(0, privkey)
+ ZEND_ARG_INFO(0, method)
ZEND_ARG_INFO(0, iv)
ZEND_END_ARG_INFO()
@@ -5336,7 +5337,7 @@ PHP_FUNCTION(openssl_verify)
}
/* }}} */
-/* {{{ proto int openssl_seal(string data, &string sealdata, &array ekeys, array pubkeys)
+/* {{{ proto int openssl_seal(string data, &string sealdata, &array ekeys, array pubkeys [, string method [, &string iv]]))
Seals data */
PHP_FUNCTION(openssl_seal)
{
@@ -5465,7 +5466,7 @@ clean_exit:
}
/* }}} */
-/* {{{ proto bool openssl_open(string data, &string opendata, string ekey, mixed privkey)
+/* {{{ proto bool openssl_open(string data, &string opendata, string ekey, mixed privkey [, string method [, string iv]])
Opens data */
PHP_FUNCTION(openssl_open)
{
diff --git a/ext/openssl/tests/bug75307.phpt b/ext/openssl/tests/bug75307.phpt
new file mode 100644
index 0000000000..606f7a523b
--- /dev/null
+++ b/ext/openssl/tests/bug75307.phpt
@@ -0,0 +1,18 @@
+--TEST--
+Bug #75307 Wrong reflection for openssl_open function
+--SKIPIF--
+<?php
+if (!extension_loaded("openssl")) die("skip openssl not available");
+if (!extension_loaded("reflection")) die("skip reflection not available");
+?>
+--FILE--
+<?php
+$rf = new ReflectionFunction('openssl_open');
+var_dump($rf->getNumberOfParameters());
+var_dump($rf->getNumberOfRequiredParameters());
+?>
+===DONE===
+--EXPECT--
+int(6)
+int(4)
+===DONE===