From 478ecc674ba801fa54d68f014cb6b7946a520eaa Mon Sep 17 00:00:00 2001 From: Jakub Zelenka Date: Wed, 19 Aug 2015 20:06:58 +0100 Subject: [PATCH] Move overflow checks in openssl_pbkdf2 --- ext/openssl/openssl.c | 10 +++++----- 1 file 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) { -- 2.40.0