mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 02:37:28 +02:00
Fix static analyzer possible leak
crl would never be null there but clean up code to make sure newcrl->crlLock gets free'd
This commit is contained in:
10
src/crl.c
10
src/crl.c
@ -829,6 +829,7 @@ static int DupX509_CRL(WOLFSSL_X509_CRL *dupl, const WOLFSSL_X509_CRL* crl)
|
||||
int wolfSSL_X509_STORE_add_crl(WOLFSSL_X509_STORE *store, WOLFSSL_X509_CRL *newcrl)
|
||||
{
|
||||
WOLFSSL_X509_CRL *crl;
|
||||
int ret = 0;
|
||||
|
||||
WOLFSSL_ENTER("wolfSSL_X509_STORE_add_crl");
|
||||
if (store == NULL || newcrl == NULL || store->cm == NULL)
|
||||
@ -843,11 +844,10 @@ int wolfSSL_X509_STORE_add_crl(WOLFSSL_X509_STORE *store, WOLFSSL_X509_CRL *newc
|
||||
WOLFSSL_MSG("wc_LockRwLock_Rd failed");
|
||||
return BAD_MUTEX_E;
|
||||
}
|
||||
if (DupX509_CRL(crl, newcrl) != 0) {
|
||||
if (crl != NULL) {
|
||||
wc_UnLockRwLock(&newcrl->crlLock);
|
||||
FreeCRL(crl, 1);
|
||||
}
|
||||
ret = DupX509_CRL(crl, newcrl);
|
||||
wc_UnLockRwLock(&newcrl->crlLock);
|
||||
if (ret != 0) {
|
||||
FreeCRL(crl, 1);
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
wc_UnLockRwLock(&newcrl->crlLock);
|
||||
|
Reference in New Issue
Block a user