summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorGeorge Hazan <george.hazan@gmail.com>2025-02-16 16:56:14 +0300
committerGeorge Hazan <george.hazan@gmail.com>2025-02-16 16:56:14 +0300
commit2331374d1ffe2432496e484443a58e859a7f560f (patch)
tree8c8cf662bb9e8df29b7fb1969e016dcc9632a04a /src
parent65783c3a344eaf555e46ab77dc9f3603cc07ce48 (diff)
Discord: the safer way of handling web sockets
Diffstat (limited to 'src')
-rw-r--r--src/mir_app/src/netlib_websocket.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/src/mir_app/src/netlib_websocket.cpp b/src/mir_app/src/netlib_websocket.cpp
index d869664a69..185e320636 100644
--- a/src/mir_app/src/netlib_websocket.cpp
+++ b/src/mir_app/src/netlib_websocket.cpp
@@ -93,6 +93,7 @@ MWebSocket::~MWebSocket()
MHttpResponse* MWebSocket::connect(HANDLE nlu, const char *szHost, const MHttpHeaders *pHeaders)
{
m_nlu = (HNETLIBUSER)nlu;
+ m_bTerminated = false;
CMStringA tmpHost(szHost);
@@ -205,8 +206,10 @@ void MWebSocket::terminate()
{
m_bTerminated = true;
- if (m_hConn)
+ if (m_hConn) {
Netlib_Shutdown(m_hConn);
+ m_hConn = nullptr;
+ }
}
/////////////////////////////////////////////////////////////////////////////////////////
@@ -275,7 +278,7 @@ void MWebSocket::run()
case 9: // ping
Netlib_Logf(m_nlu, "ping received: %d bytes", int(hdr.payloadSize));
if (hdr.payloadSize)
- Netlib_Send(m_hConn, (char *)buf + hdr.headerSize, hdr.payloadSize, MSG_NODUMP);
+ Netlib_Send(m_hConn, (char *)buf + hdr.headerSize, (int)hdr.payloadSize, MSG_NODUMP);
break;
}