summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuke Bratch <luke@bratch.co.uk>2019-05-21 20:41:54 +0100
committerLuke Bratch <luke@bratch.co.uk>2019-05-21 20:41:54 +0100
commit33f5a2c2f9eb4ff145df00944d8561fcf95866c7 (patch)
tree8e5731ff54bdd3fa7b3a5f08b32aade10a0f05b4
parentad733362c0f09aaeb5be4862bcb50a78c4947792 (diff)
Only do SSL_free() in disconnectclient() if using client TLS.
-rw-r--r--blabouncer.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/blabouncer.c b/blabouncer.c
index 78ddd9f..520341d 100644
--- a/blabouncer.c
+++ b/blabouncer.c
@@ -282,8 +282,10 @@ int disconnectclient(int fd, struct client *clients, struct ircdstrings *ircdstr
clients[i].pendingwhois = 0;
clients[i].pendingwhowas = 0;
clients[i].pendingnames = 0;
- // Finish up with OpenSSL
- SSL_free(clients[i].ssl);
+ if (settings->clienttls) {
+ // Finish up with OpenSSL if using client TLS
+ SSL_free(clients[i].ssl);
+ }
// Close the socket
close(fd);
// Now clients array is cleared, inform all other clients (source "0" since we trust this message)