diff options
| author | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-03-18 20:58:37 +0100 |
|---|---|---|
| committer | Máté Kocsis <kocsismate@woohoolabs.com> | 2020-03-24 10:22:29 +0100 |
| commit | d5871e26ad95a8022aa68d0ca95d05398bf78a41 (patch) | |
| tree | 5d51b2b897a75277f1a8b84e097099eee6800993 | |
| parent | a42e8e8ec40ca79032e22dfc544b83986b55a239 (diff) | |
| download | php-git-d5871e26ad95a8022aa68d0ca95d05398bf78a41.tar.gz | |
Promote warnings to exceptions in ext/hash
| -rw-r--r-- | ext/hash/hash.c | 12 | ||||
| -rw-r--r-- | ext/hash/tests/hash_error.phpt | 12 | ||||
| -rw-r--r-- | ext/hash/tests/hash_file_error.phpt | 12 |
3 files changed, 20 insertions, 16 deletions
diff --git a/ext/hash/hash.c b/ext/hash/hash.c index e4f8537676..7ff7a312b9 100644 --- a/ext/hash/hash.c +++ b/ext/hash/hash.c @@ -132,13 +132,13 @@ static void php_hash_do_hash(INTERNAL_FUNCTION_PARAMETERS, int isfilename, zend_ ops = php_hash_fetch_ops(algo); if (!ops) { - php_error_docref(NULL, E_WARNING, "Unknown hashing algorithm: %s", ZSTR_VAL(algo)); - RETURN_FALSE; + zend_argument_value_error(1, "must be a valid hashing algorithm"); + RETURN_THROWS(); } if (isfilename) { if (CHECK_NULL_PATH(data, data_len)) { - php_error_docref(NULL, E_WARNING, "Invalid path"); - RETURN_FALSE; + zend_argument_value_error(1, "must be a valid path"); + RETURN_THROWS(); } stream = php_stream_open_wrapper_ex(data, "rb", REPORT_ERRORS, NULL, FG(default_context)); if (!stream) { @@ -1065,8 +1065,8 @@ PHP_FUNCTION(mhash_keygen_s2k) bytes = (int)l_bytes; if (bytes <= 0){ - php_error_docref(NULL, E_WARNING, "The byte parameter must be greater than 0"); - RETURN_FALSE; + zend_argument_value_error(4, "must be a greater than 0"); + RETURN_THROWS(); } salt_len = MIN(salt_len, SALT_SIZE); diff --git a/ext/hash/tests/hash_error.phpt b/ext/hash/tests/hash_error.phpt index 8a54831c1a..9536110fd6 100644 --- a/ext/hash/tests/hash_error.phpt +++ b/ext/hash/tests/hash_error.phpt @@ -11,13 +11,15 @@ Hash: hash() function : error conditions echo "*** Testing hash() : error conditions ***\n"; echo "\n-- Testing hash() function with invalid hash algorithm --\n"; -var_dump(hash('foo', '')); +try { + hash('foo', ''); +} catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; +} ?> ---EXPECTF-- +--EXPECT-- *** Testing hash() : error conditions *** -- Testing hash() function with invalid hash algorithm -- - -Warning: hash(): Unknown hashing algorithm: foo in %s on line %d -bool(false) +hash(): Argument #1 ($algo) must be a valid hashing algorithm diff --git a/ext/hash/tests/hash_file_error.phpt b/ext/hash/tests/hash_file_error.phpt index eecd2638da..2130389a94 100644 --- a/ext/hash/tests/hash_file_error.phpt +++ b/ext/hash/tests/hash_file_error.phpt @@ -19,10 +19,14 @@ file_put_contents( $filename, 'The quick brown fox jumped over the lazy dog.' ); // hash_file() error tests echo "\n-- Testing hash_file() function with an unknown algorithm --\n"; -var_dump( hash_file( 'foobar', $filename ) ); +try { + hash_file('foobar', $filename); +} catch (ValueError $exception) { + echo $exception->getMessage() . "\n"; +} echo "\n-- Testing hash_file() function with a non-existent file --\n"; -var_dump( hash_file( 'md5', 'nonexistent.txt' ) ); +var_dump(hash_file('md5', 'nonexistent.txt')); ?> --CLEAN-- @@ -36,9 +40,7 @@ unlink( $filename ); *** Testing hash_file() : error conditions *** -- Testing hash_file() function with an unknown algorithm -- - -Warning: hash_file(): Unknown hashing algorithm: %s in %s on line %d -bool(false) +hash_file(): Argument #1 ($algo) must be a valid hashing algorithm -- Testing hash_file() function with a non-existent file -- |
