summaryrefslogtreecommitdiff
path: root/engines/e_loader_attic.c
diff options
context:
space:
mode:
authorDr. David von Oheimb <David.von.Oheimb@siemens.com>2020-06-06 13:59:25 +0200
committerDr. David von Oheimb <David.von.Oheimb@siemens.com>2020-11-19 11:36:02 +0100
commit09afbec94bacac7be9fbeab8fa0a9dfd5cb19b1d (patch)
tree9532f25191873df8c985ab037c394666f8c266d7 /engines/e_loader_attic.c
parent61dd4168f5d98cd914a65b7357e4df06a65693ab (diff)
downloadopenssl-new-09afbec94bacac7be9fbeab8fa0a9dfd5cb19b1d.tar.gz
e_loader_attic.c: Improve result handling of file_load_try_decode()
Reviewed-by: Tomas Mraz <tmraz@fedoraproject.org> (Merged from https://github.com/openssl/openssl/pull/4930)
Diffstat (limited to 'engines/e_loader_attic.c')
-rw-r--r--engines/e_loader_attic.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/e_loader_attic.c b/engines/e_loader_attic.c
index 8a9b86483f..936faa98b3 100644
--- a/engines/e_loader_attic.c
+++ b/engines/e_loader_attic.c
@@ -1233,10 +1233,13 @@ static OSSL_STORE_INFO *file_load_try_decode(OSSL_STORE_LOADER_CTX *ctx,
}
if (result == NULL)
result = tmp_result;
+ if (result == NULL) /* e.g., PKCS#12 file decryption error */
+ break;
}
}
- if (*matchcount == 1 && matching_handlers[0]->repeatable) {
+ if (result != NULL
+ && *matchcount == 1 && matching_handlers[0]->repeatable) {
ctx->_.file.last_handler = matching_handlers[0];
ctx->_.file.last_handler_ctx = handler_ctx;
}