From 68c256b9f406c9791ee0fc2e040160861db38c6c Mon Sep 17 00:00:00 2001 From: Emeric Date: Thu, 12 Jul 2012 14:49:07 +0200 Subject: [PATCH] Fix Client Mode memory Leak: Disable openssl internal cache in client mode to let application manage reuse session. --- stud.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/stud.c b/stud.c index b623e83..482fcc0 100644 --- a/stud.c +++ b/stud.c @@ -608,8 +608,13 @@ SSL_CTX * init_openssl() { init_dh(ctx, CONFIG->CERT_FILE); #endif /* OPENSSL_NO_DH */ + if (CONFIG->PMODE == SSL_CLIENT) { + /* Disable internal cache of openssl: session reuse cause memory leak + in SSL_SESS_CACHE_CLIENT mode */ + SSL_CTX_set_session_cache_mode(ctx, SSL_SESS_CACHE_OFF); + } #ifdef USE_SHARED_CACHE - if (CONFIG->SHARED_CACHE) { + else if (CONFIG->SHARED_CACHE) { if (shared_context_init(ctx, CONFIG->SHARED_CACHE) < 0) { ERR("Unable to alloc memory for shared cache.\n"); exit(1);