aboutsummaryrefslogtreecommitdiff
path: root/core/net/socket_windows.odin
diff options
context:
space:
mode:
authorLaytan Laats <laytanlaats@hotmail.com>2024-10-08 21:01:57 +0200
committerLaytan Laats <laytanlaats@hotmail.com>2024-10-08 21:01:57 +0200
commitd8af35f01e71ba1c711cd6d6c5fe0a43116c29f0 (patch)
treefe2cfa069697063d9beed65b472c3edc16d3c55b /core/net/socket_windows.odin
parentb839d06ac84f193252d5f3e5e76c432f623211bd (diff)
net: fix leaking sockets in dial_tcp if connect errors
Diffstat (limited to 'core/net/socket_windows.odin')
-rw-r--r--core/net/socket_windows.odin4
1 files changed, 2 insertions, 2 deletions
diff --git a/core/net/socket_windows.odin b/core/net/socket_windows.odin
index 20f17619d..8e18f4f88 100644
--- a/core/net/socket_windows.odin
+++ b/core/net/socket_windows.odin
@@ -80,8 +80,8 @@ _dial_tcp_from_endpoint :: proc(endpoint: Endpoint, options := default_tcp_optio
sockaddr := _endpoint_to_sockaddr(endpoint)
res := win.connect(win.SOCKET(socket), &sockaddr, size_of(sockaddr))
if res < 0 {
- err = Dial_Error(win.WSAGetLastError())
- return
+ close(socket)
+ return {}, Dial_Error(win.WSAGetLastError())
}
if options.no_delay {