summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMáté Kocsis <kocsismate@woohoolabs.com>2020-03-18 20:58:37 +0100
committerMáté Kocsis <kocsismate@woohoolabs.com>2020-03-24 10:22:29 +0100
commitd5871e26ad95a8022aa68d0ca95d05398bf78a41 (patch)
tree5d51b2b897a75277f1a8b84e097099eee6800993
parenta42e8e8ec40ca79032e22dfc544b83986b55a239 (diff)
downloadphp-git-d5871e26ad95a8022aa68d0ca95d05398bf78a41.tar.gz
Promote warnings to exceptions in ext/hash
-rw-r--r--ext/hash/hash.c12
-rw-r--r--ext/hash/tests/hash_error.phpt12
-rw-r--r--ext/hash/tests/hash_file_error.phpt12
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 --