aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorDaniel Gustafsson <dgustafsson@postgresql.org>2024-01-17 11:24:11 +0100
committerDaniel Gustafsson <dgustafsson@postgresql.org>2024-01-17 11:24:11 +0100
commit7cfa154d15c4a98bea0cfe26b2c78094a094650f (patch)
treea7f9e5c6ddeb0ba76b5ae945135f181de4cd8324 /src
parent44ad5129ce19d22afe757a6b56e41eaa91304869 (diff)
downloadpostgresql-7cfa154d15c4a98bea0cfe26b2c78094a094650f.tar.gz
postgresql-7cfa154d15c4a98bea0cfe26b2c78094a094650f.zip
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')
-rw-r--r--src/backend/port/win32/socket.c1
1 files changed, 1 insertions, 0 deletions
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;