summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJan Kneschke <jan@kneschke.de>2006-10-04 13:31:49 +0000
committerJan Kneschke <jan@kneschke.de>2006-10-04 13:31:49 +0000
commitd8eff730c546e80be02288c6480a458fa9050fb4 (patch)
tree2102a1d17f0d7b84a4b85ec207d07c8ed8449e74
parent6955113f3ae1487c08804af9a0a6a20b4efaa6b8 (diff)
downloadlighttpd-git-d8eff730c546e80be02288c6480a458fa9050fb4.tar.gz
fixed some allocations in the ssl-part before lighty exits to make valgrind happy
git-svn-id: svn+ssh://svn.lighttpd.net/lighttpd/branches/lighttpd-1.4.x@1372 152afb58-edef-0310-8abb-c4023f1b3aa9
-rw-r--r--src/server.c18
1 files changed, 17 insertions, 1 deletions
diff --git a/src/server.c b/src/server.c
index 797f35c6..f0e9ee14 100644
--- a/src/server.c
+++ b/src/server.c
@@ -55,6 +55,10 @@
#include <sys/prctl.h>
#endif
+#ifdef USE_OPENSSL
+# include <openssl/err.h>
+#endif
+
#ifndef __sgi
/* IRIX doesn't like the alarm based time() optimization */
/* #define USE_ALARM */
@@ -239,10 +243,13 @@ static void server_free(server *srv) {
buffer_free(s->server_tag);
buffer_free(s->ssl_pemfile);
buffer_free(s->ssl_ca_file);
+ buffer_free(s->ssl_cipher_list);
buffer_free(s->error_handler);
buffer_free(s->errorfile_prefix);
array_free(s->mimetypes);
-
+#ifdef USE_OPENSSL
+ SSL_CTX_free(s->ssl_ctx);
+#endif
free(s);
}
free(srv->config_storage);
@@ -268,6 +275,15 @@ static void server_free(server *srv) {
array_free(srv->srvconf.modules);
array_free(srv->split_vals);
+#ifdef USE_OPENSSL
+ if (srv->ssl_is_init) {
+ CRYPTO_cleanup_all_ex_data();
+ ERR_free_strings();
+ ERR_remove_state(0);
+ EVP_cleanup();
+ }
+#endif
+
free(srv);
}