Parse more strictly integer parameters from connection strings in libpq

Michael Paquier <michael@paquier.xyz>

Commit: e7a2217978d9cbb2149bfcb4ef1e45716cfcbefb
Author: Michael Paquier <michael@paquier.xyz>
Date: 2018-09-11T21:46:01Z
Releases: 12.0
Parse more strictly integer parameters from connection strings in libpq

The following parameters have been parsed in lossy ways when specified
in a connection string processed by libpq:
- connect_timeout
- keepalives
- keepalives_count
- keepalives_idle
- keepalives_interval
- port

Overflowing values or the presence of incorrect characters were not
properly checked, leading to libpq trying to use such values and fail
with unhelpful error messages.  This commit hardens the parsing of those
parameters so as it is possible to find easily incorrect values.

Author: Fabien Coelho
Reviewed-by: Peter Eisentraut, Michael Paquier
Discussion: https://postgr.es/m/alpine.DEB.2.21.1808171206180.20841@lancre

Files

PathChange+/−
src/interfaces/libpq/fe-connect.c modified +54 −9

Discussion