From fef034f85ea8b533423d4102cb8f83ef0ac24154 Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Thu, 21 May 2015 01:16:31 +0100 Subject: Error if memory limit exceeded. Set a specific error if the parameters are otherwise valid but exceed the memory limit. Reviewed-by: Rich Salz --- crypto/evp/scrypt.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'crypto/evp/scrypt.c') diff --git a/crypto/evp/scrypt.c b/crypto/evp/scrypt.c index 971d53e443..09dfdf2515 100644 --- a/crypto/evp/scrypt.c +++ b/crypto/evp/scrypt.c @@ -61,6 +61,7 @@ #include #include #include +#include #include #define R(a,b) (((a) << (b)) | ((a) >> (32 - (b)))) @@ -255,8 +256,10 @@ int EVP_PBE_scrypt(const char *pass, size_t passlen, if (maxmem == 0) maxmem = SCRYPT_MAX_MEM; - if (Blen + Vlen > maxmem) + if (Blen + Vlen > maxmem) { + EVPerr(EVP_F_EVP_PBE_SCRYPT, EVP_R_MEMORY_LIMIT_EXCEEDED); return 0; + } /* If no key return to indicate parameters are OK */ if (key == NULL) -- cgit v1.2.3