aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorMichael Paquier <michael@paquier.xyz>2019-10-23 11:34:42 +0900
committerMichael Paquier <michael@paquier.xyz>2019-10-23 11:34:42 +0900
commita6a95d4f382b67bc80b63e4769dfb240bafd9aa7 (patch)
tree558348d88e30cd3e40a04f73f781f1fea0bd0a20 /src
parent399b8d13ca5cda44ed9c4aff10c85351d8e95cff (diff)
downloadpostgresql-a6a95d4f382b67bc80b63e4769dfb240bafd9aa7.tar.gz
postgresql-a6a95d4f382b67bc80b63e4769dfb240bafd9aa7.zip
Fix thinkos from 4f4061b for libpq integer parsing
A check was redundant. While on it, add an assertion to make sure that the parsing routine is never called with a NULL input. All the code paths currently calling the parsing routine are careful with NULL inputs already, but future callers may forget that. Reported-by: Peter Eisentraut, Lars Kanis Discussion: https://postgr.es/m/ec64956b-4597-56b6-c3db-457d15250fe4@2ndquadrant.com Backpatch-through: 12
Diffstat (limited to 'src')
-rw-r--r--src/interfaces/libpq/fe-connect.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/src/interfaces/libpq/fe-connect.c b/src/interfaces/libpq/fe-connect.c
index 9088c4cbce7..84765a79fee 100644
--- a/src/interfaces/libpq/fe-connect.c
+++ b/src/interfaces/libpq/fe-connect.c
@@ -1663,6 +1663,8 @@ parse_int_param(const char *value, int *result, PGconn *conn,
char *end;
long numval;
+ Assert(value != NULL);
+
*result = 0;
/* strtol(3) skips leading whitespaces */
@@ -1680,10 +1682,10 @@ parse_int_param(const char *value, int *result, PGconn *conn,
* Skip any trailing whitespace; if anything but whitespace remains before
* the terminating character, fail
*/
- while (*end && *end != '\0' && isspace((unsigned char) *end))
+ while (*end != '\0' && isspace((unsigned char) *end))
end++;
- if (*end && *end != '\0')
+ if (*end != '\0')
goto error;
*result = numval;