mirror of
https://github.com/postgres/postgres.git
synced 2025-05-02 11:44:50 +03:00
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
This commit is contained in:
parent
e3db3f829f
commit
57379cd5ac
@ -1696,6 +1696,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 */
|
||||
@ -1713,10 +1715,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;
|
||||
|
Loading…
x
Reference in New Issue
Block a user