diff options
| author | Bruce Momjian <bruce@momjian.us> | 2014-04-16 10:45:48 -0400 |
|---|---|---|
| committer | Bruce Momjian <bruce@momjian.us> | 2014-04-16 10:45:48 -0400 |
| commit | 41809346518a2b57530b22148609a346a718adc9 (patch) | |
| tree | 961b8f02438fed1b5a453890a899ff0351bb7f93 /src/backend/libpq/pqcomm.c | |
| parent | 848b9f05ab283724dd063d936a92568c1fdf422b (diff) | |
| download | postgresql-41809346518a2b57530b22148609a346a718adc9.tar.gz | |
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/pqcomm.c')
| -rw-r--r-- | src/backend/libpq/pqcomm.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/backend/libpq/pqcomm.c b/src/backend/libpq/pqcomm.c index 1eae183e33..0179451f08 100644 --- a/src/backend/libpq/pqcomm.c +++ b/src/backend/libpq/pqcomm.c @@ -392,7 +392,7 @@ StreamServerPort(int family, char *hostName, unsigned short portNumber, break; } - if ((fd = socket(addr->ai_family, SOCK_STREAM, 0)) < 0) + if ((fd = socket(addr->ai_family, SOCK_STREAM, 0)) == PGINVALID_SOCKET) { ereport(LOG, (errcode_for_socket_access(), @@ -632,7 +632,7 @@ StreamConnection(pgsocket server_fd, Port *port) port->raddr.salen = sizeof(port->raddr.addr); if ((port->sock = accept(server_fd, (struct sockaddr *) & port->raddr.addr, - &port->raddr.salen)) < 0) + &port->raddr.salen)) == PGINVALID_SOCKET) { ereport(LOG, (errcode_for_socket_access(), |
