diff --git a/src/internal.c b/src/internal.c index 9e5362603..9b25d09b8 100644 --- a/src/internal.c +++ b/src/internal.c @@ -942,7 +942,7 @@ void SSL_ResourceFree(CYASSL* ssl) XFREE(ssl->buffers.serverDH_Priv.buffer, ssl->heap, DYNAMIC_TYPE_DH); XFREE(ssl->buffers.serverDH_Pub.buffer, ssl->heap, DYNAMIC_TYPE_DH); /* parameters (p,g) may be owned by ctx */ - if (ssl->buffers.weOwnDH) { + if (ssl->buffers.weOwnDH || ssl->options.side == CLIENT_END) { XFREE(ssl->buffers.serverDH_G.buffer, ssl->heap, DYNAMIC_TYPE_DH); XFREE(ssl->buffers.serverDH_P.buffer, ssl->heap, DYNAMIC_TYPE_DH); }