summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--crypto/provider_core.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/crypto/provider_core.c b/crypto/provider_core.c
index b0cb039705..4bbb928006 100644
--- a/crypto/provider_core.c
+++ b/crypto/provider_core.c
@@ -573,6 +573,10 @@ OSSL_PROVIDER *ossl_provider_new(OSSL_LIB_CTX *libctx, const char *name,
/* provider_new() generates an error, so no need here */
prov = provider_new(name, template.init, template.parameters);
+ if (!ossl_provider_set_module_path(prov, template.path)) {
+ ossl_provider_free(prov);
+ return NULL;
+ }
if (params != NULL) /* We copied the parameters, let's free them */
sk_INFOPAIR_pop_free(template.parameters, infopair_free);