summaryrefslogtreecommitdiff
path: root/src/modules/extra
diff options
context:
space:
mode:
authorAttila Molnar <attilamolnar@hush.com>2014-01-26 16:39:21 +0100
committerAttila Molnar <attilamolnar@hush.com>2014-01-26 16:39:21 +0100
commit5ae804239ee1e2f8731b73ab37e9f16d8153d477 (patch)
treefe490d9f5dafb3db48ea7440b035b0bdd6471c8d /src/modules/extra
parent46eaac3381e072b7c08b96996d977177bbe41452 (diff)
m_ssl_openssl Fix memory leaks on /rehash ssl, unload and in VerifyCertificate()
Diffstat (limited to 'src/modules/extra')
-rw-r--r--src/modules/extra/m_ssl_openssl.cpp8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/modules/extra/m_ssl_openssl.cpp b/src/modules/extra/m_ssl_openssl.cpp
index ad5eee791..9a54ff80b 100644
--- a/src/modules/extra/m_ssl_openssl.cpp
+++ b/src/modules/extra/m_ssl_openssl.cpp
@@ -265,6 +265,7 @@ class ModuleSSLOpenSSL : public Module
ServerInstance->Logs->Log("m_ssl_openssl",DEFAULT, "m_ssl_openssl.so: Couldn't set DH parameters %s. SSL errors follow:", dhfile.c_str());
ERR_print_errors_cb(error_callback, this);
}
+ DH_free(ret);
}
fclose(dhpfile);
@@ -629,8 +630,11 @@ class ModuleSSLOpenSSL : public Module
certinfo->trusted = false;
}
- certinfo->dn = X509_NAME_oneline(X509_get_subject_name(cert),0,0);
- certinfo->issuer = X509_NAME_oneline(X509_get_issuer_name(cert),0,0);
+ char buf[512];
+ X509_NAME_oneline(X509_get_subject_name(cert), buf, sizeof(buf));
+ certinfo->dn = buf;
+ X509_NAME_oneline(X509_get_issuer_name(cert), buf, sizeof(buf));
+ certinfo->issuer = buf;
if (!X509_digest(cert, digest, md, &n))
{