diff options
Diffstat (limited to 'engines/e_loader_attic.c')
-rw-r--r-- | engines/e_loader_attic.c | 5 |
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; } |