From ac8ca394069b9f70be5b1267f1076cb05fcd8ad8 Mon Sep 17 00:00:00 2001 From: Alexandre Dulaunoy Date: Sat, 14 Feb 2015 14:41:12 +0100 Subject: [PATCH] Memory leak per TLS session removed. Call cleanup after each finalization. --- ssl/ssldecode.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/ssl/ssldecode.c b/ssl/ssldecode.c index 373042c..db0d32c 100644 --- a/ssl/ssldecode.c +++ b/ssl/ssldecode.c @@ -589,12 +589,14 @@ static int tls_P_hash(ssl,secret,seed,md,out) HMAC_Init(&hm,secret->data,secret->len,md); HMAC_Update(&hm,A,A_l); HMAC_Final(&hm,_A,&A_l); + HMAC_cleanup(&hm); A=_A; HMAC_Init(&hm,secret->data,secret->len,md); HMAC_Update(&hm,A,A_l); HMAC_Update(&hm,seed->data,seed->len); HMAC_Final(&hm,tmp,&tmp_l); + HMAC_cleanup(&hm); tocpy=MIN(left,tmp_l); memcpy(ptr,tmp,tocpy); @@ -602,8 +604,6 @@ static int tls_P_hash(ssl,secret,seed,md,out) left-=tocpy; } - HMAC_cleanup(&hm); - CRDUMPD("P_hash out",out); return (0);