diff --git a/src/lib/net/SecureSocket.cpp b/src/lib/net/SecureSocket.cpp index e80e39e72..a52578e8f 100644 --- a/src/lib/net/SecureSocket.cpp +++ b/src/lib/net/SecureSocket.cpp @@ -45,8 +45,8 @@ enum struct Ssl { - SSL_CTX *m_context; - SSL *m_ssl; + SSL_CTX *m_context = nullptr; + SSL *m_ssl = nullptr; }; static int verifyIgnoreCertCallback(X509_STORE_CTX *, void *) @@ -289,9 +289,7 @@ void SecureSocket::initSsl(bool server) { std::scoped_lock ssl_lock{ssl_mutex_}; - m_ssl = new Ssl(); - m_ssl->m_context = nullptr; - m_ssl->m_ssl = nullptr; + m_ssl = std::make_unique(); initContext(server); } @@ -407,7 +405,6 @@ void SecureSocket::freeSSL() SSL_CTX_free(m_ssl->m_context); m_ssl->m_context = nullptr; } - delete m_ssl; m_ssl = nullptr; } } diff --git a/src/lib/net/SecureSocket.h b/src/lib/net/SecureSocket.h index 3561055dc..83770b003 100644 --- a/src/lib/net/SecureSocket.h +++ b/src/lib/net/SecureSocket.h @@ -11,6 +11,8 @@ #include "net/SecurityLevel.h" #include "net/TCPSocket.h" #include "net/XSocket.h" + +#include #include class IEventQueue; @@ -91,7 +93,7 @@ private: // by it. std::mutex ssl_mutex_; - Ssl *m_ssl = nullptr; + std::unique_ptr m_ssl; bool m_secureReady = false; bool m_fatal = false; SecurityLevel m_securityLevel = SecurityLevel::Encrypted;