Add explanatory comment about fitting into a size_t.
[openssl.git] / crypto / evp / pbe_scrypt.c
index f04f6cda0a92c8cce6b2aa387f02546a0d62b1a3..b30e6d571998f41e9208d51a53247f54e964e89e 100644 (file)
@@ -208,6 +208,10 @@ int EVP_PBE_scrypt(const char *pass, size_t passlen,
     if (maxmem == 0)
         maxmem = SCRYPT_MAX_MEM;
 
+    /* Check that the maximum memory doesn't exceed a size_t limits */
+    if (maxmem > SIZE_MAX)
+        maxmem = SIZE_MAX;
+
     if (Blen + Vlen > maxmem) {
         EVPerr(EVP_F_EVP_PBE_SCRYPT, EVP_R_MEMORY_LIMIT_EXCEEDED);
         return 0;