summaryrefslogtreecommitdiff
path: root/src/bin/psql/startup.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/bin/psql/startup.c')
-rw-r--r--src/bin/psql/startup.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/bin/psql/startup.c b/src/bin/psql/startup.c
index 9a6306b8cf2..b30639395ec 100644
--- a/src/bin/psql/startup.c
+++ b/src/bin/psql/startup.c
@@ -591,7 +591,7 @@ process_psqlrc(char *argv0)
char rc_file[MAXPGPATH];
char my_exec_path[MAXPGPATH];
char etc_path[MAXPGPATH];
- char *envrc;
+ char *envrc = getenv("PSQLRC");
find_my_exec(argv0, my_exec_path);
get_etc_path(my_exec_path, etc_path);
@@ -599,12 +599,13 @@ process_psqlrc(char *argv0)
snprintf(rc_file, MAXPGPATH, "%s/%s", etc_path, SYSPSQLRC);
process_psqlrc_file(rc_file);
- envrc = getenv("PSQLRC");
-
if (envrc != NULL && strlen(envrc) > 0)
{
- expand_tilde(&envrc);
- process_psqlrc_file(envrc);
+ /* might need to free() this */
+ char *envrc_alloc = pg_strdup(envrc);
+
+ expand_tilde(&envrc_alloc);
+ process_psqlrc_file(envrc_alloc);
}
else if (get_home_path(home))
{