Improve SSL failure cleanup case where ssl->ctx isn't set yet.
This commit is contained in:
parent
229cecfb61
commit
4084255fd5
@ -4845,6 +4845,7 @@ void SSL_ResourceFree(WOLFSSL* ssl)
|
||||
#endif
|
||||
WOLFSSL_HEAP_HINT* ssl_hint = (WOLFSSL_HEAP_HINT*)ssl->heap;
|
||||
WOLFSSL_HEAP* ctx_heap;
|
||||
void* heap = ssl->ctx ? ssl->ctx->heap : ssl->heap;
|
||||
|
||||
ctx_heap = ssl_hint->memory;
|
||||
if (wc_LockMutex(&(ctx_heap->memory_mutex)) != 0) {
|
||||
@ -4864,10 +4865,9 @@ void SSL_ResourceFree(WOLFSSL* ssl)
|
||||
|
||||
/* check if tracking stats */
|
||||
if (ctx_heap->flag & WOLFMEM_TRACK_STATS) {
|
||||
XFREE(ssl_hint->stats, ssl->ctx ? ssl->ctx->heap : NULL,
|
||||
DYNAMIC_TYPE_SSL);
|
||||
XFREE(ssl_hint->stats, heap, DYNAMIC_TYPE_SSL);
|
||||
}
|
||||
XFREE(ssl->heap, ssl->ctx ? ssl->ctx->heap : NULL, DYNAMIC_TYPE_SSL);
|
||||
XFREE(ssl->heap, heap, DYNAMIC_TYPE_SSL);
|
||||
#ifdef WOLFSSL_HEAP_TEST
|
||||
}
|
||||
#endif
|
||||
|
Loading…
x
Reference in New Issue
Block a user