summaryrefslogtreecommitdiff
path: root/os-posix.c
diff options
context:
space:
mode:
authorpommicket <pommicket@gmail.com>2023-09-10 13:40:05 -0400
committerpommicket <pommicket@gmail.com>2023-09-10 13:40:05 -0400
commit6586f9e66d87017984f57b3b4579c78897ba66f2 (patch)
treef84ab9a9b4a6449e123cfed0a3e9245750a19fd6 /os-posix.c
parent5e22cc67e92a87a0448dea70c89a4472b961fa14 (diff)
LSP over TCP on windows
Diffstat (limited to 'os-posix.c')
-rw-r--r--os-posix.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/os-posix.c b/os-posix.c
index 34a7f7b..32c1853 100644
--- a/os-posix.c
+++ b/os-posix.c
@@ -458,6 +458,8 @@ Socket *socket_connect_tcp(const char *address, u16 port) {
if (connect(fd, &addr, sizeof addr) < 0) {
strbuf_printf(s->error, "couldn't connect to %s:%u (%s)",
address, port, strerror(errno));
+ close(fd);
+ return s;
}
set_nonblocking(fd);
@@ -492,5 +494,6 @@ void socket_close(Socket **psocket) {
if (!s) return;
if (s->fd > 0)
close(s->fd);
+ free(s);
*psocket = NULL;
}