]> git.ipfire.org Git - thirdparty/openssl.git/commitdiff
set module path from template
authorNeil Horman <nhorman@openssl.org>
Tue, 2 Apr 2024 19:02:51 +0000 (15:02 -0400)
committerTomas Mraz <tomas@openssl.org>
Thu, 18 Apr 2024 16:38:39 +0000 (18:38 +0200)
Modules that aren't activated at conf load time don't seem to set the
module path from the template leading to load failures.  Make sure to
set that

Fixes #24020

Reviewed-by: Matt Caswell <matt@openssl.org>
Reviewed-by: Richard Levitte <levitte@openssl.org>
Reviewed-by: Tomas Mraz <tomas@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/24025)

crypto/provider_core.c

index b0cb039705ceaf88688d9d4d492cf8b8720c684d..4bbb928006b9528342218ce7212b9d8ce7bdfe29 100644 (file)
@@ -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);