diff options
author | Fabien Villepinte <fabien.villepinte@gmail.com> | 2017-10-27 14:14:04 +0200 |
---|---|---|
committer | Joe Watkins <krakjoe@php.net> | 2017-10-27 16:06:01 +0100 |
commit | 51ea2cfbe1c8c3cbfdc381c6f2ff4d43af520938 (patch) | |
tree | c3a6c6dd6f92b1656b9c7c01131154ef234eb97b | |
parent | 15a71fe045a476e864900657fc8d4d3586aafd02 (diff) | |
download | php-git-51ea2cfbe1c8c3cbfdc381c6f2ff4d43af520938.tar.gz |
Fix bug #75307 Wrong reflection for openssl_open function
-rw-r--r-- | NEWS | 1 | ||||
-rw-r--r-- | ext/openssl/openssl.c | 9 | ||||
-rw-r--r-- | ext/openssl/tests/bug75307.phpt | 18 |
3 files changed, 24 insertions, 4 deletions
@@ -37,6 +37,7 @@ PHP NEWS - OpenSSL: . Fixed bug #75363 (openssl_x509_parse leaks memory). (Bob, Jakub Zelenka) + . Fixed bug #75307 (Wrong reflection for openssl_open function). (villfa) - PGSQL: . Fixed bug #75419 (Default link incorrectly cleared/linked by pg_close()). (Sara) 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=== |