From 1e338487db3fcb163d146a889998f1c0830f0d64 Mon Sep 17 00:00:00 2001 From: Kareem Date: Wed, 20 May 2026 17:25:15 -0700 Subject: [PATCH] Code review feedback --- src/ocsp.c | 15 +++++++++------ 1 file changed, 9 insertions(+), 6 deletions(-) diff --git a/src/ocsp.c b/src/ocsp.c index 7aae36d075..e129a08595 100644 --- a/src/ocsp.c +++ b/src/ocsp.c @@ -1283,18 +1283,23 @@ OcspResponse* wolfSSL_d2i_OCSP_RESPONSE(OcspResponse** response, XMEMSET(resp, 0, sizeof(OcspResponse)); } + if (resp->source != NULL) + XFREE(resp->source, NULL, DYNAMIC_TYPE_TMP_BUFFER); resp->source = (byte*)XMALLOC((size_t)len, NULL, DYNAMIC_TYPE_TMP_BUFFER); if (resp->source == NULL) { - XFREE(resp, NULL, DYNAMIC_TYPE_OCSP_REQUEST); + wolfSSL_OCSP_RESPONSE_free(resp); if (response != NULL && *response == resp) *response = NULL; return NULL; } + if (resp->single != NULL) { + FreeOcspEntry(resp->single, NULL); + XFREE(resp->single, NULL, DYNAMIC_TYPE_OCSP_ENTRY); + } resp->single = (OcspEntry*)XMALLOC(sizeof(OcspEntry), NULL, DYNAMIC_TYPE_OCSP_ENTRY); if (resp->single == NULL) { - XFREE(resp->source, NULL, DYNAMIC_TYPE_TMP_BUFFER); - XFREE(resp, NULL, DYNAMIC_TYPE_OCSP_REQUEST); + wolfSSL_OCSP_RESPONSE_free(resp); if (response != NULL && *response == resp) *response = NULL; return NULL; @@ -1304,9 +1309,7 @@ OcspResponse* wolfSSL_d2i_OCSP_RESPONSE(OcspResponse** response, DYNAMIC_TYPE_OCSP_STATUS); resp->single->ownStatus = 1; if (resp->single->status == NULL) { - XFREE(resp->source, NULL, DYNAMIC_TYPE_TMP_BUFFER); - XFREE(resp->single, NULL, DYNAMIC_TYPE_OCSP_ENTRY); - XFREE(resp, NULL, DYNAMIC_TYPE_OCSP_REQUEST); + wolfSSL_OCSP_RESPONSE_free(resp); if (response != NULL && *response == resp) *response = NULL; return NULL;