fixup! ocsp: don't free ocsp request if saved in ssl->ctx->certOcspRequest

This commit is contained in:
Marco Oliverio
2024-07-29 15:00:41 +00:00
parent a1fbfa94d2
commit 31380aca13

View File

@@ -23311,14 +23311,16 @@ int SendFinished(WOLFSSL* ssl)
*/
static int CreateOcspRequest(WOLFSSL* ssl, OcspRequest* request,
DecodedCert* cert, byte* certData, word32 length,
byte *takeOwnership)
byte *ctxOwnsRequest)
{
byte ctxOwnsRequest = 0;
int ret;
if (request != NULL)
XMEMSET(request, 0, sizeof(OcspRequest));
if (ctxOwnsRequest!= NULL)
*ctxOwnsRequest = 0;
InitDecodedCert(cert, certData, length, ssl->heap);
/* TODO: Setup async support here */
ret = ParseCertRelative(cert, CERT_TYPE, VERIFY, SSL_CM(ssl), NULL);
@@ -23334,7 +23336,8 @@ static int CreateOcspRequest(WOLFSSL* ssl, OcspRequest* request,
if (wc_LockMutex(ocspLock) == 0) {
if (ssl->ctx->certOcspRequest == NULL) {
ssl->ctx->certOcspRequest = request;
ctxOwnsRequest = 1;
if (ctxOwnsRequest!= NULL)
*ctxOwnsRequest = 1;
}
wc_UnLockMutex(ocspLock);
}
@@ -23342,8 +23345,6 @@ static int CreateOcspRequest(WOLFSSL* ssl, OcspRequest* request,
}
FreeDecodedCert(cert);
if (takeOwnership != NULL)
*takeOwnership = ctxOwnsRequest;
return ret;
}