Skip to content

Commit fe2c13c

Browse files
committed
Merge branch 'PHP-8.1'
* PHP-8.1: Fix GH-7759: Incorrect return types for hash() and hash_hmac()
2 parents 3acf632 + a708db9 commit fe2c13c

File tree

3 files changed

+13
-8
lines changed

3 files changed

+13
-8
lines changed

Zend/Optimizer/zend_func_infos.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -171,9 +171,9 @@ static const func_info_t func_infos[] = {
171171
F1("gmp_sqrtrem", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_OF_OBJECT),
172172
F1("gmp_rootrem", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_LONG|MAY_BE_ARRAY_OF_OBJECT),
173173
F1("gmp_gcdext", MAY_BE_ARRAY|MAY_BE_ARRAY_KEY_STRING|MAY_BE_ARRAY_OF_OBJECT),
174-
F1("hash", MAY_BE_STRING|MAY_BE_FALSE),
174+
F1("hash", MAY_BE_STRING),
175175
F1("hash_file", MAY_BE_STRING|MAY_BE_FALSE),
176-
F1("hash_hmac", MAY_BE_STRING|MAY_BE_FALSE),
176+
F1("hash_hmac", MAY_BE_STRING),
177177
F1("hash_hmac_file", MAY_BE_STRING|MAY_BE_FALSE),
178178
F1("hash_init", MAY_BE_OBJECT),
179179
F1("hash_final", MAY_BE_STRING),

ext/hash/hash.stub.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@
33
/** @generate-class-entries */
44

55
/** @refcount 1 */
6-
function hash(string $algo, string $data, bool $binary = false, array $options = []): string|false {}
6+
function hash(string $algo, string $data, bool $binary = false, array $options = []): string {}
77

88
/** @refcount 1 */
99
function hash_file(string $algo, string $filename, bool $binary = false, array $options = []): string|false {}
1010

1111
/** @refcount 1 */
12-
function hash_hmac(string $algo, string $data, string $key, bool $binary = false): string|false {}
12+
function hash_hmac(string $algo, string $data, string $key, bool $binary = false): string {}
1313

1414
/** @refcount 1 */
1515
function hash_hmac_file(string $algo, string $data, string $key, bool $binary = false): string|false {}

ext/hash/hash_arginfo.h

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
/* This is a generated file, edit the .stub.php file instead.
2-
* Stub hash: d0ed07f608581a5700a10ec53a817ca788ef9638 */
2+
* Stub hash: 715957cf1785912eed75ce92c2a2708defe1ebd7 */
33

4-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_hash, 0, 2, MAY_BE_STRING|MAY_BE_FALSE)
4+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_hash, 0, 2, IS_STRING, 0)
55
ZEND_ARG_TYPE_INFO(0, algo, IS_STRING, 0)
66
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
77
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, binary, _IS_BOOL, 0, "false")
@@ -15,14 +15,19 @@ ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_hash_file, 0, 2, MAY_BE_STRING|M
1515
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, options, IS_ARRAY, 0, "[]")
1616
ZEND_END_ARG_INFO()
1717

18-
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_hash_hmac, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
18+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_INFO_EX(arginfo_hash_hmac, 0, 3, IS_STRING, 0)
1919
ZEND_ARG_TYPE_INFO(0, algo, IS_STRING, 0)
2020
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
2121
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
2222
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, binary, _IS_BOOL, 0, "false")
2323
ZEND_END_ARG_INFO()
2424

25-
#define arginfo_hash_hmac_file arginfo_hash_hmac
25+
ZEND_BEGIN_ARG_WITH_RETURN_TYPE_MASK_EX(arginfo_hash_hmac_file, 0, 3, MAY_BE_STRING|MAY_BE_FALSE)
26+
ZEND_ARG_TYPE_INFO(0, algo, IS_STRING, 0)
27+
ZEND_ARG_TYPE_INFO(0, data, IS_STRING, 0)
28+
ZEND_ARG_TYPE_INFO(0, key, IS_STRING, 0)
29+
ZEND_ARG_TYPE_INFO_WITH_DEFAULT_VALUE(0, binary, _IS_BOOL, 0, "false")
30+
ZEND_END_ARG_INFO()
2631

2732
ZEND_BEGIN_ARG_WITH_RETURN_OBJ_INFO_EX(arginfo_hash_init, 0, 1, HashContext, 0)
2833
ZEND_ARG_TYPE_INFO(0, algo, IS_STRING, 0)

0 commit comments

Comments
 (0)