From 580289375cf26f510d958b15ae9c010d3bf096bf Mon Sep 17 00:00:00 2001 From: John Safranek Date: Thu, 6 Nov 2014 15:44:24 -0800 Subject: [PATCH] Fix memory leak in CyaSSL when using Hash DRBG --- src/internal.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/internal.c b/src/internal.c index d309445be..d53cdf80d 100644 --- a/src/internal.c +++ b/src/internal.c @@ -1939,6 +1939,9 @@ void SSL_ResourceFree(CYASSL* ssl) { FreeCiphers(ssl); FreeArrays(ssl, 0); +#if defined(HAVE_HASHDRBG) || defined(NO_RC4) + FreeRng(ssl->rng); +#endif XFREE(ssl->rng, ssl->heap, DYNAMIC_TYPE_RNG); XFREE(ssl->suites, ssl->heap, DYNAMIC_TYPE_SUITES); XFREE(ssl->buffers.domainName.buffer, ssl->heap, DYNAMIC_TYPE_DOMAIN); @@ -2053,6 +2056,9 @@ void FreeHandshakeResources(CYASSL* ssl) /* RNG */ if (ssl->specs.cipher_type == stream || ssl->options.tls1_1 == 0) { +#if defined(HAVE_HASHDRBG) || defined(NO_RC4) + FreeRng(ssl->rng); +#endif XFREE(ssl->rng, ssl->heap, DYNAMIC_TYPE_RNG); ssl->rng = NULL; }