From 6c4d37ee686a81dd28a81c4f30c676d3a5d8ba48 Mon Sep 17 00:00:00 2001 From: Deomid Ryabkov <rojer@cesanta.com> Date: Wed, 23 Dec 2015 16:54:33 +0100 Subject: [PATCH] Free previous ssl context in mg_set_ssl PUBLISHED_FROM=9f595222bce1fe8d0917649e36ce3be40eee1775 --- mongoose.c | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/mongoose.c b/mongoose.c index 9dd1d1e09..45500c8b7 100644 --- a/mongoose.c +++ b/mongoose.c @@ -2387,6 +2387,15 @@ const char *mg_set_ssl(struct mg_connection *nc, const char *cert, const char *result = NULL; DBG(("%p %s %s", nc, (cert ? cert : ""), (ca_cert ? ca_cert : ""))); + if (nc->ssl != NULL) { + SSL_free(nc->ssl); + nc->ssl = NULL; + } + if (nc->ssl_ctx != NULL) { + SSL_CTX_free(nc->ssl_ctx); + nc->ssl_ctx = NULL; + } + if ((nc->flags & MG_F_LISTENING) && (nc->ssl_ctx = SSL_CTX_new(SSLv23_server_method())) == NULL) { result = "SSL_CTX_new() failed"; -- GitLab