diff options
| author | Jakub Zelenka <bukka@php.net> | 2015-08-19 20:06:58 +0100 |
|---|---|---|
| committer | Jakub Zelenka <bukka@php.net> | 2015-08-19 20:06:58 +0100 |
| commit | 478ecc674ba801fa54d68f014cb6b7946a520eaa (patch) | |
| tree | 0e9f53033d9cb12b659abff4d8bfbbeced269ba2 /ext/openssl/openssl.c | |
| parent | 09970d803156d74eff9f5d51f8943b7cb0425c8f (diff) | |
| download | php-git-478ecc674ba801fa54d68f014cb6b7946a520eaa.tar.gz | |
Move overflow checks in openssl_pbkdf2
Diffstat (limited to 'ext/openssl/openssl.c')
| -rw-r--r-- | ext/openssl/openssl.c | 10 |
1 files changed, 5 insertions, 5 deletions
diff --git a/ext/openssl/openssl.c b/ext/openssl/openssl.c index 2876bae76e..938117e1e3 100644 --- a/ext/openssl/openssl.c +++ b/ext/openssl/openssl.c @@ -4022,11 +4022,6 @@ PHP_FUNCTION(openssl_pbkdf2) RETURN_FALSE; } - PHP_OPENSSL_CHECK_OVERFLOW(key_length, key); - PHP_OPENSSL_CHECK_OVERFLOW(iterations, iterations); - PHP_OPENSSL_CHECK_OVERFLOW(password_len, password); - PHP_OPENSSL_CHECK_OVERFLOW(salt_len, salt); - if (method_len) { digest = EVP_get_digestbyname(method); } else { @@ -4038,6 +4033,11 @@ PHP_FUNCTION(openssl_pbkdf2) RETURN_FALSE; } + PHP_OPENSSL_CHECK_OVERFLOW(key_length, key); + PHP_OPENSSL_CHECK_OVERFLOW(iterations, iterations); + PHP_OPENSSL_CHECK_OVERFLOW(password_len, password); + PHP_OPENSSL_CHECK_OVERFLOW(salt_len, salt); + out_buffer = zend_string_alloc(key_length, 0); if (PKCS5_PBKDF2_HMAC(password, (int)password_len, (unsigned char *)salt, (int)salt_len, (int)iterations, digest, (int)key_length, (unsigned char*)ZSTR_VAL(out_buffer)) == 1) { |
