]> granicus.if.org Git - php/commitdiff
Warnings become errors hash_hmac hash_hmac_file
authorMark <mrandall@digitellinc.com>
Mon, 26 Aug 2019 21:34:50 +0000 (22:34 +0100)
committerJoe Watkins <krakjoe@php.net>
Thu, 29 Aug 2019 14:08:16 +0000 (16:08 +0200)
ext/hash/hash.c
ext/hash/tests/hash_hmac_error.phpt
ext/hash/tests/hash_hmac_file_error.phpt

index 2fbff0d1022991932a79cfe7d10cd406ce188770..e9cc5bf054c386b8c79ad6258a7a24d4f8567c0e 100644 (file)
@@ -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) {
index 1ed3e54127416df7f4e1d5d84458b4bc3606bf97..fe9ed734d4118f7dacf99dbc3d62231c33c0cf6b 100644 (file)
@@ -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===
index 67a4a8550f1d4e465e104dce0c9bf577a8e5cf97..5660b0f40c46d86d0efcb2e3b2f87a94c403e552 100644 (file)
@@ -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===