From 203758695ffc4f9c70d908792d80d0790a3c904a Mon Sep 17 00:00:00 2001 From: JacobBarthelmeh Date: Thu, 24 Apr 2025 15:29:54 -0600 Subject: [PATCH] use proper heap hint when free'ing CRL in error case --- src/crl.c | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/src/crl.c b/src/crl.c index 437342ca53..e6aa088bbb 100644 --- a/src/crl.c +++ b/src/crl.c @@ -855,13 +855,18 @@ int GetCRLInfo(WOLFSSL_CRL* crl, CrlInfo* info, const byte* buff, static WOLFSSL_X509_CRL* wolfSSL_X509_crl_new(WOLFSSL_CERT_MANAGER* cm) { WOLFSSL_X509_CRL* ret; + void* heap = NULL; - ret = (WOLFSSL_X509_CRL*)XMALLOC(sizeof(WOLFSSL_X509_CRL), - cm != NULL ? cm->heap : NULL, DYNAMIC_TYPE_CRL); + if (cm != NULL) { + heap = cm->heap; + } + + ret = (WOLFSSL_X509_CRL*)XMALLOC(sizeof(WOLFSSL_X509_CRL), heap, + DYNAMIC_TYPE_CRL); if (ret != NULL) { if (InitCRL(ret, cm) < 0) { WOLFSSL_MSG("Unable to initialize new CRL structure"); - XFREE(ret, cm->heap, DYNAMIC_TYPE_CRL); + XFREE(ret, heap, DYNAMIC_TYPE_CRL); ret = NULL; } }