aboutsummaryrefslogtreecommitdiff
path: root/src/backend/libpq/auth.c
diff options
context:
space:
mode:
authorBruce Momjian <bruce@momjian.us>2014-04-16 10:45:48 -0400
committerBruce Momjian <bruce@momjian.us>2014-04-16 10:45:48 -0400
commitf716c3250adeed22f1ea1b1cb93e4782a202856a (patch)
treee64a9e6255a038ad6f95d4fcbd9e661ff5ebcaee /src/backend/libpq/auth.c
parentc03a6ae220630c6d03dddf20789df62131ea6e9e (diff)
downloadpostgresql-f716c3250adeed22f1ea1b1cb93e4782a202856a.tar.gz
postgresql-f716c3250adeed22f1ea1b1cb93e4782a202856a.zip
check socket creation errors against PGINVALID_SOCKET
Previously, in some places, socket creation errors were checked for negative values, which is not true for Windows because sockets are unsigned. This masked socket creation errors on Windows. Backpatch through 9.0. 8.4 doesn't have the infrastructure to fix this.
Diffstat (limited to 'src/backend/libpq/auth.c')
-rw-r--r--src/backend/libpq/auth.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/libpq/auth.c b/src/backend/libpq/auth.c
index 5e13145eff4..f3f3b71894b 100644
--- a/src/backend/libpq/auth.c
+++ b/src/backend/libpq/auth.c
@@ -1676,7 +1676,7 @@ ident_inet(hbaPort *port)
sock_fd = socket(ident_serv->ai_family, ident_serv->ai_socktype,
ident_serv->ai_protocol);
- if (sock_fd < 0)
+ if (sock_fd == PGINVALID_SOCKET)
{
ereport(LOG,
(errcode_for_socket_access(),
@@ -1756,7 +1756,7 @@ ident_inet(hbaPort *port)
ident_response)));
ident_inet_done:
- if (sock_fd >= 0)
+ if (sock_fd != PGINVALID_SOCKET)
closesocket(sock_fd);
pg_freeaddrinfo_all(remote_addr.addr.ss_family, ident_serv);
pg_freeaddrinfo_all(local_addr.addr.ss_family, la);
@@ -2583,7 +2583,7 @@ CheckRADIUSAuth(Port *port)
packet->length = htons(packet->length);
sock = socket(serveraddrs[0].ai_family, SOCK_DGRAM, 0);
- if (sock < 0)
+ if (sock == PGINVALID_SOCKET)
{
ereport(LOG,
(errmsg("could not create RADIUS socket: %m")));