From 96d5a4669d696d57a511119963ae5c651346e167 Mon Sep 17 00:00:00 2001 From: LemonBoy Date: Mon, 11 Sep 2017 16:32:36 +0200 Subject: Increment the X509_STORE refcount during the connection OpenSSL doesn't increment the reference count when the store is assigned to a SSL_CTX. --- src/core/network-openssl.c | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'src/core') diff --git a/src/core/network-openssl.c b/src/core/network-openssl.c index 2054f28a..feb2295d 100644 --- a/src/core/network-openssl.c +++ b/src/core/network-openssl.c @@ -510,6 +510,10 @@ static GIOChannel *irssi_ssl_get_iochannel(GIOChannel *handle, int port, SERVER_ g_free(scapath); verify = TRUE; } else if (store != NULL) { + /* Make sure to increment the refcount every time the store is + * used, that's essential not to get it free'd by OpenSSL when + * the SSL_CTX is destroyed. */ + X509_STORE_up_ref(store); SSL_CTX_set_cert_store(ctx, store); } -- cgit v1.2.3