From 5876ab8f3ce99f25b1752eb268284f790506b795 Mon Sep 17 00:00:00 2001 From: tomoaki Date: Tue, 11 May 2021 14:41:25 +0900 Subject: [PATCH] BugFix of #220 Signed-off-by: tomoaki --- MQTTSNGateway/src/linux/Network.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/MQTTSNGateway/src/linux/Network.cpp b/MQTTSNGateway/src/linux/Network.cpp index 842e121..4951f8d 100644 --- a/MQTTSNGateway/src/linux/Network.cpp +++ b/MQTTSNGateway/src/linux/Network.cpp @@ -279,6 +279,7 @@ bool Network::connect(const char* host, const char* port, const char* caPath, co char errmsg[256]; char peer_CN[256]; bool rc; + X509* peer = nullptr; _mutex.lock(); try @@ -385,7 +386,7 @@ bool Network::connect(const char* host, const char* port, const char* caPath, co throw false; } - X509* peer = SSL_get_peer_certificate(_ssl); + peer = SSL_get_peer_certificate(_ssl); X509_NAME_get_text_by_NID(X509_get_subject_name(peer), NID_commonName, peer_CN, 256); char* pos = peer_CN; if ( *pos == '*') @@ -413,7 +414,12 @@ bool Network::connect(const char* host, const char* port, const char* caPath, co { rc = x; } + _mutex.unlock(); + if (peer != nullptr) + { + X509_free(peer); + } return rc; }