diff options
author | Mark <mrandall@digitellinc.com> | 2019-08-26 22:34:50 +0100 |
---|---|---|
committer | Joe Watkins <krakjoe@php.net> | 2019-08-29 16:08:16 +0200 |
commit | 21587854b437db14db7e4d601421d2c7702afe4f (patch) | |
tree | 28ced03869318937df7e492a28a33bfee764fb60 /ext/hash | |
parent | 62751b0d453ac51c559ea31d360a290081eb0c1d (diff) | |
download | php-git-21587854b437db14db7e4d601421d2c7702afe4f.tar.gz |
Warnings become errors hash_hmac hash_hmac_file
Diffstat (limited to 'ext/hash')
-rw-r--r-- | ext/hash/hash.c | 12 | ||||
-rw-r--r-- | ext/hash/tests/hash_hmac_error.phpt | 24 | ||||
-rw-r--r-- | ext/hash/tests/hash_hmac_file_error.phpt | 32 |
3 files changed, 43 insertions, 25 deletions
diff --git a/ext/hash/hash.c b/ext/hash/hash.c index 2fbff0d102..e9cc5bf054 100644 --- a/ext/hash/hash.c +++ b/ext/hash/hash.c @@ -252,18 +252,18 @@ static void php_hash_do_hash_hmac(INTERNAL_FUNCTION_PARAMETERS, int isfilename, ops = php_hash_fetch_ops(algo, algo_len); if (!ops) { - php_error_docref(NULL, E_WARNING, "Unknown hashing algorithm: %s", algo); - RETURN_FALSE; + zend_throw_error(NULL, "Unknown hashing algorithm: %s", algo); + return; } else if (!ops->is_crypto) { - php_error_docref(NULL, E_WARNING, "Non-cryptographic hashing algorithm: %s", algo); - RETURN_FALSE; + zend_throw_error(NULL, "Non-cryptographic hashing algorithm: %s", algo); + return; } if (isfilename) { if (CHECK_NULL_PATH(data, data_len)) { - php_error_docref(NULL, E_WARNING, "Invalid path"); - RETURN_FALSE; + zend_throw_error(NULL, "Invalid path"); + return; } stream = php_stream_open_wrapper_ex(data, "rb", REPORT_ERRORS, NULL, FG(default_context)); if (!stream) { diff --git a/ext/hash/tests/hash_hmac_error.phpt b/ext/hash/tests/hash_hmac_error.phpt index 1ed3e54127..fe9ed734d4 100644 --- a/ext/hash/tests/hash_hmac_error.phpt +++ b/ext/hash/tests/hash_hmac_error.phpt @@ -13,23 +13,29 @@ $data = "This is a sample string used to test the hash_hmac function with variou $key = 'secret'; echo "\n-- Testing hash_hmac() function with invalid hash algorithm --\n"; -var_dump(hash_hmac('foo', $data, $key)); +try { + var_dump(hash_hmac('foo', $data, $key)); +} +catch (\Error $e) { + echo $e->getMessage() . "\n"; +} echo "\n-- Testing hash_hmac() function with non-cryptographic hash algorithm --\n"; -var_dump(hash_hmac('crc32', $data, $key)); +try { + var_dump(hash_hmac('crc32', $data, $key)); +} +catch (\Error $e) { + echo $e->getMessage() . "\n"; +} ?> ===Done=== ---EXPECTF-- +--EXPECT-- *** Testing hash_hmac() : error conditions *** -- Testing hash_hmac() function with invalid hash algorithm -- - -Warning: hash_hmac(): Unknown hashing algorithm: foo in %s on line %d -bool(false) +Unknown hashing algorithm: foo -- Testing hash_hmac() function with non-cryptographic hash algorithm -- - -Warning: hash_hmac(): Non-cryptographic hashing algorithm: crc32 in %s on line %d -bool(false) +Non-cryptographic hashing algorithm: crc32 ===Done=== diff --git a/ext/hash/tests/hash_hmac_file_error.phpt b/ext/hash/tests/hash_hmac_file_error.phpt index 67a4a8550f..5660b0f40c 100644 --- a/ext/hash/tests/hash_hmac_file_error.phpt +++ b/ext/hash/tests/hash_hmac_file_error.phpt @@ -15,28 +15,40 @@ $file = __DIR__ . "hash_file.txt"; $key = 'secret'; echo "\n-- Testing hash_hmac_file() function with invalid hash algorithm --\n"; -hash_hmac_file('foo', $file, $key, TRUE); +try { + var_dump(hash_hmac_file('foo', $file, $key, TRUE)); +} +catch (\Error $e) { + echo $e->getMessage() . "\n"; +} echo "\n-- Testing hash_hmac_file() function with non-cryptographic hash algorithm --\n"; -hash_hmac_file('crc32', $file, $key, TRUE); +try { + var_dump(hash_hmac_file('crc32', $file, $key, TRUE)); +} +catch (\Error $e) { + echo $e->getMessage() . "\n"; +} echo "\n-- Testing hash_hmac_file() function with bad path --\n"; -hash_hmac_file('md5', $file.chr(0).$file, $key, TRUE); +try { + var_dump(hash_hmac_file('md5', $file.chr(0).$file, $key, TRUE)); +} +catch (\Error $e) { + echo $e->getMessage() . "\n"; +} ?> ===Done=== ---EXPECTF-- +--EXPECT-- *** Testing hash() : error conditions *** -- Testing hash_hmac_file() function with invalid hash algorithm -- - -Warning: hash_hmac_file(): Unknown hashing algorithm: foo in %s on line %d +Unknown hashing algorithm: foo -- Testing hash_hmac_file() function with non-cryptographic hash algorithm -- - -Warning: hash_hmac_file(): Non-cryptographic hashing algorithm: crc32 in %s on line %d +Non-cryptographic hashing algorithm: crc32 -- Testing hash_hmac_file() function with bad path -- - -Warning: hash_hmac_file(): Invalid path in %s on line %d +Invalid path ===Done=== |