postgres.git / summary / log / commit / refs
commit 7cfa154d15c4a98bea0cfe26b2c78094a094650f
Author: Daniel Gustafsson <dgustafsson@postgresql.org>
Date: Wed Jan 17 10:24:11 2024 +0000
First released in: 17.0, 12.18, 13.14, 14.11, 15.6, 16.2
Close socket in case of errors in setting non-blocking
If configuring the newly created socket non-blocking fails we
error out and return INVALID_SOCKET, but the socket that had
been created wasn't closed. Fix by issuing closesocket in the
errorpath.
Backpatch to all supported branches.
Author: Ranier Vilela <ranier.vf@gmail.com>
Discussion: https://postgr.es/m/CAEudQApmU5CrKefH85VbNYE2y8H=-qqEJbg6RAPU65+vCe+89A@mail.gmail.com
Backpatch-through: v12
src/backend/port/win32/socket.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/src/backend/port/win32/socket.c b/src/backend/port/win32/socket.c
index 6b60a9f2201..0a819e07ae1 100644
--- a/src/backend/port/win32/socket.c
+++ b/src/backend/port/win32/socket.c
@@ -303,6 +303,7 @@ pgwin32_socket(int af, int type, int protocol)
if (ioctlsocket(s, FIONBIO, &on))
{
TranslateSocketError();
+ closesocket(s);
return INVALID_SOCKET;
}
errno = 0;
[parent: 44ad5129ce19]