Merge pull request #3688 from julek-wolfssl/correct-cert-free

Use wolfSSL_X509_free to free ourCert
pull/3718/head
toddouska 2021-02-09 12:41:12 -08:00 committed by GitHub
commit 250b59f8fd
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 8 additions and 18 deletions

View File

@ -1851,8 +1851,7 @@ void SSL_CtxResourceFree(WOLFSSL_CTX* ctx)
FreeDer(&ctx->certificate); FreeDer(&ctx->certificate);
#ifdef KEEP_OUR_CERT #ifdef KEEP_OUR_CERT
if (ctx->ourCert && ctx->ownOurCert) { if (ctx->ourCert && ctx->ownOurCert) {
FreeX509(ctx->ourCert); wolfSSL_X509_free(ctx->ourCert);
XFREE(ctx->ourCert, ctx->heap, DYNAMIC_TYPE_X509);
ctx->ourCert = NULL; ctx->ourCert = NULL;
} }
#endif /* KEEP_OUR_CERT */ #endif /* KEEP_OUR_CERT */

View File

@ -5484,11 +5484,8 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
if (ssl->buffers.weOwnCert) { if (ssl->buffers.weOwnCert) {
FreeDer(&ssl->buffers.certificate); FreeDer(&ssl->buffers.certificate);
#ifdef KEEP_OUR_CERT #ifdef KEEP_OUR_CERT
FreeX509(ssl->ourCert); wolfSSL_X509_free(ssl->ourCert);
if (ssl->ourCert) { ssl->ourCert = NULL;
XFREE(ssl->ourCert, ssl->heap, DYNAMIC_TYPE_X509);
ssl->ourCert = NULL;
}
#endif #endif
} }
ssl->buffers.certificate = der; ssl->buffers.certificate = der;
@ -5501,10 +5498,8 @@ int ProcessBuffer(WOLFSSL_CTX* ctx, const unsigned char* buff,
FreeDer(&ctx->certificate); /* Make sure previous is free'd */ FreeDer(&ctx->certificate); /* Make sure previous is free'd */
#ifdef KEEP_OUR_CERT #ifdef KEEP_OUR_CERT
if (ctx->ourCert) { if (ctx->ourCert) {
if (ctx->ownOurCert) { if (ctx->ownOurCert)
FreeX509(ctx->ourCert); wolfSSL_X509_free(ctx->ourCert);
XFREE(ctx->ourCert, ctx->heap, DYNAMIC_TYPE_X509);
}
ctx->ourCert = NULL; ctx->ourCert = NULL;
} }
#endif #endif
@ -14798,11 +14793,8 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
WOLFSSL_MSG("Unloading cert"); WOLFSSL_MSG("Unloading cert");
FreeDer(&ssl->buffers.certificate); FreeDer(&ssl->buffers.certificate);
#ifdef KEEP_OUR_CERT #ifdef KEEP_OUR_CERT
FreeX509(ssl->ourCert); wolfSSL_X509_free(ssl->ourCert);
if (ssl->ourCert) { ssl->ourCert = NULL;
XFREE(ssl->ourCert, ssl->heap, DYNAMIC_TYPE_X509);
ssl->ourCert = NULL;
}
#endif #endif
ssl->buffers.weOwnCert = 0; ssl->buffers.weOwnCert = 0;
} }
@ -42376,8 +42368,7 @@ err:
x->derCert->length); x->derCert->length);
#ifdef KEEP_OUR_CERT #ifdef KEEP_OUR_CERT
if (ctx->ourCert != NULL && ctx->ownOurCert) { if (ctx->ourCert != NULL && ctx->ownOurCert) {
FreeX509(ctx->ourCert); wolfSSL_X509_free(ctx->ourCert);
XFREE(ctx->ourCert, ctx->heap, DYNAMIC_TYPE_X509);
} }
#ifndef WOLFSSL_X509_STORE_CERTS #ifndef WOLFSSL_X509_STORE_CERTS
ctx->ourCert = x; ctx->ourCert = x;