From: Frank Denis Date: Tue, 8 Aug 2017 15:36:06 +0000 (+0200) Subject: sodium ext: long -> zend_long X-Git-Tag: php-7.2.0beta3~35 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=631fc3c9c180ffc155ea508776b6d318935acba7;p=php sodium ext: long -> zend_long --- diff --git a/ext/sodium/libsodium.c b/ext/sodium/libsodium.c index 48902744a5..48b2a9ca3b 100644 --- a/ext/sodium/libsodium.c +++ b/ext/sodium/libsodium.c @@ -2990,8 +2990,8 @@ PHP_FUNCTION(sodium_crypto_kdf_derive_from_key) char *ctx; char *key; zend_string *subkey; - long subkey_id; - long subkey_len; + zend_long subkey_id; + zend_long subkey_len; size_t ctx_len; size_t key_len; @@ -3006,7 +3006,7 @@ PHP_FUNCTION(sodium_crypto_kdf_derive_from_key) zend_throw_exception(sodium_exception_ce, "subkey cannot be smaller than sodium_crypto_kdf_BYTES_MIN", 0); return; } - if (subkey_len > crypto_kdf_BYTES_MAX) { + if (subkey_len > crypto_kdf_BYTES_MAX || subkey_len > SIZE_MAX) { zend_throw_exception(sodium_exception_ce, "subkey cannot be larger than sodium_crypto_kdf_BYTES_MAX", 0); return; } @@ -3033,7 +3033,7 @@ PHP_FUNCTION(sodium_crypto_kdf_derive_from_key) salt[6] = (unsigned char) (((uint64_t) subkey_id) >> 48); salt[7] = (unsigned char) (((uint64_t) subkey_id) >> 56); memset(salt + 8, 0, (sizeof salt) - 8); - subkey = zend_string_alloc(subkey_len, 0); + subkey = zend_string_alloc((size_t) subkey_len, 0); if (crypto_generichash_blake2b_salt_personal((unsigned char *) ZSTR_VAL(subkey), (size_t) subkey_len, NULL, 0,