Protect loading routines with a lock.
PR: 373
This commit is contained in:
parent
e29246cb17
commit
f70ddce761
@ -197,6 +197,10 @@ static int sk_comp_cmp(const SSL_COMP * const *a,
|
|||||||
|
|
||||||
static void load_builtin_compressions(void)
|
static void load_builtin_compressions(void)
|
||||||
{
|
{
|
||||||
|
if (ssl_comp_methods != NULL)
|
||||||
|
return;
|
||||||
|
|
||||||
|
CRYPTO_w_lock(CRYPTO_LOCK_SSL);
|
||||||
if (ssl_comp_methods == NULL)
|
if (ssl_comp_methods == NULL)
|
||||||
{
|
{
|
||||||
SSL_COMP *comp = NULL;
|
SSL_COMP *comp = NULL;
|
||||||
@ -222,6 +226,7 @@ static void load_builtin_compressions(void)
|
|||||||
}
|
}
|
||||||
MemCheck_on();
|
MemCheck_on();
|
||||||
}
|
}
|
||||||
|
CRYPTO_w_unlock(CRYPTO_LOCK_SSL);
|
||||||
}
|
}
|
||||||
|
|
||||||
int ssl_cipher_get_evp(SSL_SESSION *s, const EVP_CIPHER **enc,
|
int ssl_cipher_get_evp(SSL_SESSION *s, const EVP_CIPHER **enc,
|
||||||
@ -793,7 +798,12 @@ STACK_OF(SSL_CIPHER) *ssl_create_cipher_list(const SSL_METHOD *ssl_method,
|
|||||||
*/
|
*/
|
||||||
if (rule_str == NULL) return(NULL);
|
if (rule_str == NULL) return(NULL);
|
||||||
|
|
||||||
if (init_ciphers) load_ciphers();
|
if (init_ciphers)
|
||||||
|
{
|
||||||
|
CRYPTO_w_lock(CRYPTO_LOCK_SSL);
|
||||||
|
if (init_ciphers) load_ciphers();
|
||||||
|
CRYPTO_w_unlock(CRYPTO_LOCK_SSL);
|
||||||
|
}
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* To reduce the work to do we only want to process the compiled
|
* To reduce the work to do we only want to process the compiled
|
||||||
|
Loading…
x
Reference in New Issue
Block a user