diff --git a/src/internal.c b/src/internal.c index a67810fc3..22067077a 100644 --- a/src/internal.c +++ b/src/internal.c @@ -4864,9 +4864,10 @@ void SSL_ResourceFree(WOLFSSL* ssl) /* check if tracking stats */ if (ctx_heap->flag & WOLFMEM_TRACK_STATS) { - XFREE(ssl_hint->stats, ssl->heap, DYNAMIC_TYPE_SSL); + XFREE(ssl_hint->stats, ssl->ctx ? ssl->ctx->heap : NULL, + DYNAMIC_TYPE_SSL); } - XFREE(ssl->heap, ssl->heap, DYNAMIC_TYPE_SSL); + XFREE(ssl->heap, ssl->ctx ? ssl->ctx->heap : NULL, DYNAMIC_TYPE_SSL); #ifdef WOLFSSL_HEAP_TEST } #endif