com php-src: Use zpp for accepting encryption mode string: ext/mcrypt/mcrypt.c ext/mcrypt/tests/mcrypt_decrypt_variati on4.phpt
ext/mcrypt/tests/mcrypt_encrypt_variation4 .phpt
| From: | Nikita Popov | Date: | Wed, 05 Mar 2014 14:32:32 +0000 |
| Subject: | com php-src: Use zpp for accepting encryption mode string: ext/mcrypt/mcrypt.c ext/mcrypt/tests/mcrypt_decrypt_variati on4.phpt ext/mcrypt/tests/mcrypt_encrypt_variation4 .phpt |
||
| Groups: | php.cvs | ||
| Request: | Send a blank email to php-cvs+get-76349@lists.php.net to get a copy of this message | ||
Commit: d8ed84e4c4d0bd0bac88d2c0ed6e072a7d7ea49d
Author: Nikita Popov <nikic@php.net> Wed, 5 Mar 2014 15:18:27 +0100
Parents: eb0eac75efaf76eb7772c6cd7768a581aeb6de8f
Branches: PHP-5.6 master
Link: http://git.php.net/?p=php-src.git;a=commitdiff;h=d8ed84e4c4d0bd0bac88d2c0ed6e072a7d7ea49d
Log:
Use zpp for accepting encryption mode string
Leaving the non-zpp usage for the mcrypt_{MODE} functions, as
they're deprecated and I'm too lazy to update all their tests.
Changed paths:
M ext/mcrypt/mcrypt.c
M ext/mcrypt/tests/mcrypt_decrypt_variation4.phpt
M ext/mcrypt/tests/mcrypt_encrypt_variation4.phpt
Diff:
diff --git a/ext/mcrypt/mcrypt.c b/ext/mcrypt/mcrypt.c
index ada3fb7..70a458d 100644
--- a/ext/mcrypt/mcrypt.c
+++ b/ext/mcrypt/mcrypt.c
@@ -1296,15 +1296,15 @@ static void php_mcrypt_do_crypt(char* cipher, const char *key, int key_len,
cons
OFB crypt/decrypt data using key key with cipher cipher starting with iv */
PHP_FUNCTION(mcrypt_encrypt)
{
- zval **mode;
- char *cipher, *key, *data, *iv = NULL;
- int cipher_len, key_len, data_len, iv_len = 0;
+ char *cipher, *key, *data, *mode, *iv = NULL;
+ int cipher_len, key_len, data_len, mode_len, iv_len = 0;
- MCRYPT_GET_CRYPT_ARGS
-
- convert_to_string_ex(mode);
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssss|s", &cipher,
&cipher_len,
+ &key, &key_len, &data, &data_len, &mode, &mode_len, &iv, &iv_len)
== FAILURE) {
+ return;
+ }
- php_mcrypt_do_crypt(cipher, key, key_len, data, data_len, Z_STRVAL_PP(mode), iv, iv_len,
MCRYPT_ENCRYPT, return_value TSRMLS_CC);
+ php_mcrypt_do_crypt(cipher, key, key_len, data, data_len, mode, iv, iv_len, MCRYPT_ENCRYPT,
return_value TSRMLS_CC);
}
/* }}} */
@@ -1312,15 +1312,15 @@ PHP_FUNCTION(mcrypt_encrypt)
OFB crypt/decrypt data using key key with cipher cipher starting with iv */
PHP_FUNCTION(mcrypt_decrypt)
{
- zval **mode;
- char *cipher, *key, *data, *iv = NULL;
- int cipher_len, key_len, data_len, iv_len = 0;
+ char *cipher, *key, *data, *mode, *iv = NULL;
+ int cipher_len, key_len, data_len, mode_len, iv_len = 0;
- MCRYPT_GET_CRYPT_ARGS
-
- convert_to_string_ex(mode);
+ if (zend_parse_parameters(ZEND_NUM_ARGS() TSRMLS_CC, "ssss|s", &cipher,
&cipher_len,
+ &key, &key_len, &data, &data_len, &mode, &mode_len, &iv, &iv_len)
== FAILURE) {
+ return;
+ }
- php_mcrypt_do_crypt(cipher, key, key_len, data, data_len, Z_STRVAL_PP(mode), iv, iv_len,
MCRYPT_DECRYPT, return_value TSRMLS_CC);
+ php_mcrypt_do_crypt(cipher, key, key_len, data, data_len, mode, iv, iv_len, MCRYPT_DECRYPT,
return_value TSRMLS_CC);
}
/* }}} */
diff --git a/ext/mcrypt/tests/mcrypt_decrypt_variation4.phpt
b/ext/mcrypt/tests/mcrypt_decrypt_variation4.phpt
index 12e4431..1bb994d 100644
--- a/ext/mcrypt/tests/mcrypt_decrypt_variation4.phpt
+++ b/ext/mcrypt/tests/mcrypt_decrypt_variation4.phpt
@@ -160,24 +160,20 @@ Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
bool(false)
--empty array--
-Error: 8 - Array to string conversion, %s(%d)
-Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_decrypt() expects parameter 4 to be string, array given, %s(%d)
+NULL
--int indexed array--
-Error: 8 - Array to string conversion, %s(%d)
-Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_decrypt() expects parameter 4 to be string, array given, %s(%d)
+NULL
--associative array--
-Error: 8 - Array to string conversion, %s(%d)
-Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_decrypt() expects parameter 4 to be string, array given, %s(%d)
+NULL
--nested arrays--
-Error: 8 - Array to string conversion, %s(%d)
-Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_decrypt() expects parameter 4 to be string, array given, %s(%d)
+NULL
--uppercase NULL--
Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
@@ -216,10 +212,8 @@ Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
bool(false)
--instance of classWithoutToString--
-Error: 4096 - Object of class classWithoutToString could not be converted to string, %s(%d)
-Error: 8 - Object of class classWithoutToString to string conversion, %s(%d)
-Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_decrypt() expects parameter 4 to be string, object given, %s(%d)
+NULL
--undefined var--
Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
@@ -230,6 +224,6 @@ Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
bool(false)
--resource--
-Error: 2 - mcrypt_decrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_decrypt() expects parameter 4 to be string, resource given, %s(%d)
+NULL
===DONE===
diff --git a/ext/mcrypt/tests/mcrypt_encrypt_variation4.phpt
b/ext/mcrypt/tests/mcrypt_encrypt_variation4.phpt
index 4c8cef1..a041ab4 100644
--- a/ext/mcrypt/tests/mcrypt_encrypt_variation4.phpt
+++ b/ext/mcrypt/tests/mcrypt_encrypt_variation4.phpt
@@ -160,24 +160,20 @@ Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
bool(false)
--empty array--
-Error: 8 - Array to string conversion, %s(%d)
-Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_encrypt() expects parameter 4 to be string, array given, %s(%d)
+NULL
--int indexed array--
-Error: 8 - Array to string conversion, %s(%d)
-Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_encrypt() expects parameter 4 to be string, array given, %s(%d)
+NULL
--associative array--
-Error: 8 - Array to string conversion, %s(%d)
-Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_encrypt() expects parameter 4 to be string, array given, %s(%d)
+NULL
--nested arrays--
-Error: 8 - Array to string conversion, %s(%d)
-Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_encrypt() expects parameter 4 to be string, array given, %s(%d)
+NULL
--uppercase NULL--
Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
@@ -216,10 +212,8 @@ Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
bool(false)
--instance of classWithoutToString--
-Error: 4096 - Object of class classWithoutToString could not be converted to string, %s(%d)
-Error: 8 - Object of class classWithoutToString to string conversion, %s(%d)
-Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_encrypt() expects parameter 4 to be string, object given, %s(%d)
+NULL
--undefined var--
Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
@@ -230,6 +224,6 @@ Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
bool(false)
--resource--
-Error: 2 - mcrypt_encrypt(): Module initialization failed, %s(%d)
-bool(false)
+Error: 2 - mcrypt_encrypt() expects parameter 4 to be string, resource given, %s(%d)
+NULL
===DONE===