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 | d8f6ab5f66a3fcce61694308172ffd6c9e04d6b2 (patch) | |
tree | ba922a955e2b68a164162f11d86322419c05a458 /src/backend/port/win32/socket.c | |
parent | 7a7c8c98a610418ed0118e22a1793bf27e55783a (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
Diffstat (limited to 'src/backend/port/win32/socket.c')
-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 af151e84709..4dd57440cac 100644 --- a/src/backend/port/win32/socket.c +++ b/src/backend/port/win32/socket.c @@ -298,6 +298,7 @@ pgwin32_socket(int af, int type, int protocol) if (ioctlsocket(s, FIONBIO, &on)) { TranslateSocketError(); + closesocket(s); return INVALID_SOCKET; } errno = 0; |