summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/passphrase.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/crypto/passphrase.c b/crypto/passphrase.c
index ac352697db..170374f9d9 100644
--- a/crypto/passphrase.c
+++ b/crypto/passphrase.c
@@ -273,7 +273,8 @@ int ossl_pw_get_passphrase(char *pass, size_t pass_size, size_t *pass_len,
do_cache:
if (ret && data->flag_cache_passphrase) {
- if (*pass_len > data->cached_passphrase_len) {
+ if (data->cached_passphrase == NULL
+ || *pass_len > data->cached_passphrase_len) {
void *new_cache =
OPENSSL_clear_realloc(data->cached_passphrase,
data->cached_passphrase_len,