summaryrefslogtreecommitdiffstats
path: root/engines/e_loader_attic.c
diff options
context:
space:
mode:
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;
}