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 | 6614d38d8780670d2337090bdf2ec81c0b8bab8e (patch) | |
tree | 19c5285928e1359cc058e35a607a5bfdea57ec88 /src | |
parent | a1d50b69b5b637e3ac403bd314cec783bc1676ba (diff) | |
download | postgresql-6614d38d8780670d2337090bdf2ec81c0b8bab8e.tar.gz postgresql-6614d38d8780670d2337090bdf2ec81c0b8bab8e.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.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 9c339397d12..b87addd3f33 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; |