mirror of
https://github.com/wolfSSL/wolfssl.git
synced 2025-07-30 18:57:27 +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)
|
int wolfSSL_X509_STORE_add_crl(WOLFSSL_X509_STORE *store, WOLFSSL_X509_CRL *newcrl)
|
||||||
{
|
{
|
||||||
WOLFSSL_X509_CRL *crl;
|
WOLFSSL_X509_CRL *crl;
|
||||||
|
int ret = 0;
|
||||||
|
|
||||||
WOLFSSL_ENTER("wolfSSL_X509_STORE_add_crl");
|
WOLFSSL_ENTER("wolfSSL_X509_STORE_add_crl");
|
||||||
if (store == NULL || newcrl == NULL || store->cm == NULL)
|
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");
|
WOLFSSL_MSG("wc_LockRwLock_Rd failed");
|
||||||
return BAD_MUTEX_E;
|
return BAD_MUTEX_E;
|
||||||
}
|
}
|
||||||
if (DupX509_CRL(crl, newcrl) != 0) {
|
ret = DupX509_CRL(crl, newcrl);
|
||||||
if (crl != NULL) {
|
wc_UnLockRwLock(&newcrl->crlLock);
|
||||||
wc_UnLockRwLock(&newcrl->crlLock);
|
if (ret != 0) {
|
||||||
FreeCRL(crl, 1);
|
FreeCRL(crl, 1);
|
||||||
}
|
|
||||||
return WOLFSSL_FAILURE;
|
return WOLFSSL_FAILURE;
|
||||||
}
|
}
|
||||||
wc_UnLockRwLock(&newcrl->crlLock);
|
wc_UnLockRwLock(&newcrl->crlLock);
|
||||||
|
Reference in New Issue
Block a user