summaryrefslogtreecommitdiffstats
path: root/crypto/evp/pbe_scrypt.c
diff options
context:
space:
mode:
authorVictor Stinner <vstinner@redhat.com>2019-03-14 15:23:04 +0100
committerPauli <paul.dale@oracle.com>2019-03-17 19:27:37 +1000
commit253d7622222166959d1a5e724434aae3fbd2537d (patch)
tree402543565890821dd95f64317640d0b4aef3ac5f /crypto/evp/pbe_scrypt.c
parentf7f2a55aeee12926a7080d75d38f03467eb1ac44 (diff)
EVP_PBE_scrypt() handles salt=NULL as salt=""
Modify EVP_PBE_scrypt() to maintain OpenSSL 1.1.1 behavior: salt=NULL is now handled as salt="" (and saltlen=0). Commit 5a285addbf39f91d567f95f04b2b41764127950d changed the behavior of EVP_PBE_scrypt(salt=NULL). Previously, salt=NULL was accepted, but the function now fails with KDF_R_MISSING_SALT. CLA: trivial Reviewed-by: Richard Levitte <levitte@openssl.org> Reviewed-by: Paul Dale <paul.dale@oracle.com> (Merged from https://github.com/openssl/openssl/pull/8483)
Diffstat (limited to 'crypto/evp/pbe_scrypt.c')
-rw-r--r--crypto/evp/pbe_scrypt.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/evp/pbe_scrypt.c b/crypto/evp/pbe_scrypt.c
index cad0440e5d..c0ab238eb8 100644
--- a/crypto/evp/pbe_scrypt.c
+++ b/crypto/evp/pbe_scrypt.c
@@ -52,6 +52,10 @@ int EVP_PBE_scrypt(const char *pass, size_t passlen,
pass = empty;
passlen = 0;
}
+ if (salt == NULL) {
+ salt = (const unsigned char *)empty;
+ saltlen = 0;
+ }
if (maxmem == 0)
maxmem = SCRYPT_MAX_MEM;