git.postgresql.org Git - postgresql.git/commitdiff

git projects / postgresql.git / commitdiff
? search:
summary | shortlog | log | commit | commitdiff | tree
raw | patch | inline | side by side (parent: 44ad512)
Close socket in case of errors in setting non-blocking
2024年1月17日 10:24:11 +0000 (11:24 +0100)
2024年1月17日 10:24:11 +0000 (11:24 +0100)
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


diff --git a/src/backend/port/win32/socket.c b/src/backend/port/win32/socket.c
index 6b60a9f2201eb36a4b58db2e976943609e571730..0a819e07ae1328f10d3c7618eda4f495029a5d1d 100644 (file)
--- 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;
This is the main PostgreSQL git repository.
RSS Atom

AltStyle によって変換されたページ (->オリジナル) /