提交 03361afb 编写于 作者: M Matt Caswell

Don't create an OPENSSL_CTX twice

The fips provider was creating the OPENSSL_CTX twice due to a previous
merge error.
Reviewed-by: NRichard Levitte <levitte@openssl.org>
(Merged from https://github.com/openssl/openssl/pull/9184)
上级 b720949e
......@@ -216,18 +216,7 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider,
void **provctx)
{
FIPS_GLOBAL *fgbl;
OPENSSL_CTX *ctx = OPENSSL_CTX_new();
if (ctx == NULL)
return 0;
fgbl = openssl_ctx_get_data(ctx, OPENSSL_CTX_FIPS_PROV_INDEX,
&fips_prov_ossl_ctx_method);
if (fgbl == NULL)
goto err;
fgbl->prov = provider;
OPENSSL_CTX *ctx;
for (; in->function_id != 0; in++) {
switch (in->function_id) {
......@@ -256,6 +245,14 @@ int OSSL_provider_init(const OSSL_PROVIDER *provider,
if (ctx == NULL)
return 0;
fgbl = openssl_ctx_get_data(ctx, OPENSSL_CTX_FIPS_PROV_INDEX,
&fips_prov_ossl_ctx_method);
if (fgbl == NULL)
goto err;
fgbl->prov = provider;
*out = fips_dispatch_table;
*provctx = ctx;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册