diff options
Diffstat (limited to 'crypto/pbkdf.c')
-rw-r--r-- | crypto/pbkdf.c | 16 |
1 files changed, 5 insertions, 11 deletions
diff --git a/crypto/pbkdf.c b/crypto/pbkdf.c index 695cc35..929458b 100644 --- a/crypto/pbkdf.c +++ b/crypto/pbkdf.c @@ -62,13 +62,13 @@ static int qcrypto_pbkdf2_get_thread_cpu(unsigned long long *val_ms, #endif } -int qcrypto_pbkdf2_count_iters(QCryptoHashAlgorithm hash, - const uint8_t *key, size_t nkey, - const uint8_t *salt, size_t nsalt, - Error **errp) +uint64_t qcrypto_pbkdf2_count_iters(QCryptoHashAlgorithm hash, + const uint8_t *key, size_t nkey, + const uint8_t *salt, size_t nsalt, + Error **errp) { uint8_t out[32]; - long long int iterations = (1 << 15); + uint64_t iterations = (1 << 15); unsigned long long delta_ms, start_ms, end_ms; while (1) { @@ -100,11 +100,5 @@ int qcrypto_pbkdf2_count_iters(QCryptoHashAlgorithm hash, iterations = iterations * 1000 / delta_ms; - if (iterations > INT32_MAX) { - error_setg(errp, "Iterations %lld too large for a 32-bit int", - iterations); - return -1; - } - return iterations; } |