Re: innocuous: pgbench does FD_ISSET on invalid socket - Mailing list pgsql-hackers

From Michael Paquier
Subject Re: innocuous: pgbench does FD_ISSET on invalid socket
Date
Msg-id CAB7nPqTTZoiuVYGNonLVnZysStUSOfhKeO9FTrQbKWJ36UCdOA@mail.gmail.com
Whole thread Raw
In response to innocuous: pgbench does FD_ISSET on invalid socket  (Alvaro Herrera <alvherre@alvh.no-ip.org>)
Responses Re: innocuous: pgbench does FD_ISSET on invalid socket
Re: innocuous: pgbench does FD_ISSET on invalid socket
List pgsql-hackers
On Sat, Feb 13, 2016 at 6:25 AM, Alvaro Herrera <alvherre@alvh.no-ip.org> wrote:
> I noticed that pgbench calls FD_ISSET on a socket returned by
> PQsocket() without first checking that it's not invalid.  I don't think
> there's a real problem here because the socket was already checked a few
> lines above, but I think applying the same coding pattern to both places
> is cleaner.
>
> Any objections to changing it like this?  I'd probably backpatch to 9.5,
> but no further (even though this pattern actually appears all the way
> back.)

Not really, +1 for consistency here, and this makes the code clearer.

Different issues in the same area:
1) In vacuumdb.c, init_slot() does not check for the return value of PQsocket():
slot->sock = PQsocket(conn);
2) In isolationtester.c, try_complete_step() should do the same.
3) In pg_recvlogical.c for StreamLogicalLog() I am spotting the same problem.
I guess those ones should be fixed as well, no?
-- 
Michael



pgsql-hackers by date:

Previous
From: Craig Ringer
Date:
Subject: Re: Refectoring of receivelog.c
Next
From: Rushabh Lathia
Date:
Subject: Re: Optimization for updating foreign tables in Postgres FDW