diff options
author | Daniel Gustafsson <dgustafsson@postgresql.org> | 2024-01-17 11:24:11 +0100 |
---|---|---|
committer | Daniel Gustafsson <dgustafsson@postgresql.org> | 2024-01-17 11:24:11 +0100 |
commit | a6463d287b4a313994760a315461d6af86da1873 (patch) | |
tree | bfc4c2eeebc8b66688275e66e84ede70cd437ed7 | |
parent | 475b3ea3c06b5059d1844fb02c0f4191b7c86e36 (diff) |
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
-rw-r--r-- | src/backend/port/win32/socket.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/backend/port/win32/socket.c b/src/backend/port/win32/socket.c index 6fbd1ed6fb4..10b85483062 100644 --- a/src/backend/port/win32/socket.c +++ b/src/backend/port/win32/socket.c @@ -290,6 +290,7 @@ pgwin32_socket(int af, int type, int protocol) if (ioctlsocket(s, FIONBIO, &on)) { TranslateSocketError(); + closesocket(s); return INVALID_SOCKET; } errno = 0; |