mirror of
https://github.com/openssl/openssl.git
synced 2025-01-18 13:44:20 +08:00
OSSL_LIB_CTX_load_config() must not be called concurrently on same libctx
The semantics of such concurrent call is not defined. Reviewed-by: Paul Dale <ppzgs1@gmail.com> Reviewed-by: Neil Horman <nhorman@openssl.org> (Merged from https://github.com/openssl/openssl/pull/24275)
This commit is contained in:
parent
3e191f4879
commit
fb6584987a
@ -85,7 +85,8 @@ library context.
|
||||
|
||||
OSSL_LIB_CTX_load_config() loads a configuration file using the given I<ctx>.
|
||||
This can be used to associate a library context with providers that are loaded
|
||||
from a configuration.
|
||||
from a configuration. This function must not be called concurrently from
|
||||
multiple threads on a single I<ctx>.
|
||||
|
||||
OSSL_LIB_CTX_free() frees the given I<ctx>, unless it happens to be the
|
||||
default OpenSSL library context.
|
||||
|
@ -1076,19 +1076,6 @@ static int test_obj_add(void)
|
||||
1, default_provider);
|
||||
}
|
||||
|
||||
static void test_lib_ctx_load_config_worker(void)
|
||||
{
|
||||
if (!TEST_int_eq(OSSL_LIB_CTX_load_config(multi_libctx, config_file), 1))
|
||||
multi_set_success(0);
|
||||
}
|
||||
|
||||
static int test_lib_ctx_load_config(void)
|
||||
{
|
||||
return thread_run_test(&test_lib_ctx_load_config_worker,
|
||||
MAXIMUM_THREADS, &test_lib_ctx_load_config_worker,
|
||||
1, default_provider);
|
||||
}
|
||||
|
||||
#if !defined(OPENSSL_NO_DGRAM) && !defined(OPENSSL_NO_SOCK)
|
||||
static BIO *multi_bio1, *multi_bio2;
|
||||
|
||||
@ -1275,7 +1262,6 @@ int setup_tests(void)
|
||||
#endif
|
||||
ADD_TEST(test_multi_load_unload_provider);
|
||||
ADD_TEST(test_obj_add);
|
||||
ADD_TEST(test_lib_ctx_load_config);
|
||||
#if !defined(OPENSSL_NO_DGRAM) && !defined(OPENSSL_NO_SOCK)
|
||||
ADD_TEST(test_bio_dgram_pair);
|
||||
#endif
|
||||
|
Loading…
Reference in New Issue
Block a user