diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/bin/pg_ctl/pg_ctl.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/src/bin/pg_ctl/pg_ctl.c b/src/bin/pg_ctl/pg_ctl.c index e633d0c18fe..c9007eded92 100644 --- a/src/bin/pg_ctl/pg_ctl.c +++ b/src/bin/pg_ctl/pg_ctl.c @@ -1934,8 +1934,10 @@ adjust_data_dir(void) pclose(fd); free(my_exec_path); - if (strlen(filename) > 0 && filename[strlen(filename) - 1] == '\n') - filename[strlen(filename) - 1] = '\0'; + /* Remove trailing newline */ + if (strchr(filename, '\n') != NULL) + *strchr(filename, '\n') = '\0'; + free(pg_data); pg_data = xstrdup(filename); canonicalize_path(pg_data); |