Skip to content

Commit dc92dc7

Browse files
use proper heap hint when free'ing CRL in error case
1 parent c22505a commit dc92dc7

File tree

1 file changed

+8
-3
lines changed

1 file changed

+8
-3
lines changed

src/crl.c

+8-3
Original file line numberDiff line numberDiff line change
@@ -855,13 +855,18 @@ int GetCRLInfo(WOLFSSL_CRL* crl, CrlInfo* info, const byte* buff,
855855
static WOLFSSL_X509_CRL* wolfSSL_X509_crl_new(WOLFSSL_CERT_MANAGER* cm)
856856
{
857857
WOLFSSL_X509_CRL* ret;
858+
void* heap = NULL;
858859

859-
ret = (WOLFSSL_X509_CRL*)XMALLOC(sizeof(WOLFSSL_X509_CRL),
860-
cm != NULL ? cm->heap : NULL, DYNAMIC_TYPE_CRL);
860+
if (cm != NULL) {
861+
heap = cm->heap;
862+
}
863+
864+
ret = (WOLFSSL_X509_CRL*)XMALLOC(sizeof(WOLFSSL_X509_CRL), heap,
865+
DYNAMIC_TYPE_CRL);
861866
if (ret != NULL) {
862867
if (InitCRL(ret, cm) < 0) {
863868
WOLFSSL_MSG("Unable to initialize new CRL structure");
864-
XFREE(ret, cm->heap, DYNAMIC_TYPE_CRL);
869+
XFREE(ret, heap, DYNAMIC_TYPE_CRL);
865870
ret = NULL;
866871
}
867872
}

0 commit comments

Comments
 (0)