aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/backend/libpq/hba.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/backend/libpq/hba.c b/src/backend/libpq/hba.c
index e946a4659f2..91f6ced0d2f 100644
--- a/src/backend/libpq/hba.c
+++ b/src/backend/libpq/hba.c
@@ -411,9 +411,9 @@ tokenize_file(const char *filename, FILE *file,
line_number, filename)));
/* Strip trailing linebreak from rawline */
- while (rawline[strlen(rawline) - 1] == '\n' ||
- rawline[strlen(rawline) - 1] == '\r')
- rawline[strlen(rawline) - 1] = '\0';
+ lineptr = rawline + strlen(rawline) - 1;
+ while (lineptr >= rawline && (*lineptr == '\n' || *lineptr == '\r'))
+ *lineptr-- = '\0';
lineptr = rawline;
while (strlen(lineptr) > 0)