Fix threading issue that at best will leak memory
The problem is the checking in policy_cache_set, there is a race condition between the null check and obtaining the lock. The fix is in policy_cache_new to detect if the creation has happened already. Reviewed-by: Richard Levitte <levitte@openssl.org>
This commit is contained in:
parent
b38c43f7bc
commit
7d6df9e915
1 changed files with 3 additions and 0 deletions
|
@ -78,6 +78,9 @@ static int policy_cache_new(X509 *x)
|
|||
CERTIFICATEPOLICIES *ext_cpols = NULL;
|
||||
POLICY_MAPPINGS *ext_pmaps = NULL;
|
||||
int i;
|
||||
|
||||
if (x->policy_cache != NULL)
|
||||
return 1;
|
||||
cache = OPENSSL_malloc(sizeof(*cache));
|
||||
if (cache == NULL)
|
||||
return 0;
|
||||
|
|
Loading…
Reference in a new issue