summaryrefslogtreecommitdiff
path: root/Source
diff options
context:
space:
mode:
authorMatthew Parlane <parlane@gmail.com>2013-04-25 01:59:20 +1200
committerMatthew Parlane <parlane@gmail.com>2013-04-25 01:59:20 +1200
commit00316e182bb2c3cdf0ce6126b658eb45e1864e60 (patch)
tree14e23eee280199b6f7c06fac09018ee3d34a2223 /Source
parentc3dbbe011d4d9e06d6b4badc6e42e830b35fabd2 (diff)
Cleanup session data on deconstruct.
Diffstat (limited to 'Source')
-rw-r--r--Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp12
1 files changed, 12 insertions, 0 deletions
diff --git a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
index 3f1242b5f4..01ee3ea78b 100644
--- a/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
+++ b/Source/Core/Core/Src/IPC_HLE/WII_IPC_HLE_Device_net_ssl.cpp
@@ -40,6 +40,18 @@ CWII_IPC_HLE_Device_net_ssl::CWII_IPC_HLE_Device_net_ssl(u32 _DeviceID, const st
CWII_IPC_HLE_Device_net_ssl::~CWII_IPC_HLE_Device_net_ssl()
{
+ // Cleanup sessions
+ for (int i = 0; i < NET_SSL_MAXINSTANCES; i++)
+ {
+ gnutls_session_t session = _SSL[i].session;
+ if(session)
+ {
+ gnutls_bye (session, GNUTLS_SHUT_RDWR);
+ gnutls_deinit(session);
+ gnutls_certificate_free_credentials (_SSL[i].xcred);
+ }
+ }
+
gnutls_global_deinit();
}