summaryrefslogtreecommitdiff
path: root/src/backend/utils/misc
diff options
context:
space:
mode:
Diffstat (limited to 'src/backend/utils/misc')
-rw-r--r--src/backend/utils/misc/guc.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/src/backend/utils/misc/guc.c b/src/backend/utils/misc/guc.c
index e404c345e6e..46fdefebe35 100644
--- a/src/backend/utils/misc/guc.c
+++ b/src/backend/utils/misc/guc.c
@@ -1803,7 +1803,7 @@ SelectConfigFiles(const char *userDoption, const char *progname)
configdir);
if (errno == ENOENT)
write_stderr("Run initdb or pg_basebackup to initialize a PostgreSQL data directory.\n");
- return false;
+ goto fail;
}
/*
@@ -1830,7 +1830,7 @@ SelectConfigFiles(const char *userDoption, const char *progname)
"You must specify the --config-file or -D invocation "
"option or set the PGDATA environment variable.\n",
progname);
- return false;
+ goto fail;
}
/*
@@ -1851,8 +1851,7 @@ SelectConfigFiles(const char *userDoption, const char *progname)
{
write_stderr("%s: could not access the server configuration file \"%s\": %m\n",
progname, ConfigFileName);
- free(configdir);
- return false;
+ goto fail;
}
/*
@@ -1882,7 +1881,7 @@ SelectConfigFiles(const char *userDoption, const char *progname)
"or by the -D invocation option, or by the "
"PGDATA environment variable.\n",
progname, ConfigFileName);
- return false;
+ goto fail;
}
/*
@@ -1934,7 +1933,7 @@ SelectConfigFiles(const char *userDoption, const char *progname)
"or by the -D invocation option, or by the "
"PGDATA environment variable.\n",
progname, ConfigFileName);
- return false;
+ goto fail;
}
SetConfigOption("hba_file", fname, PGC_POSTMASTER, PGC_S_OVERRIDE);
@@ -1965,7 +1964,7 @@ SelectConfigFiles(const char *userDoption, const char *progname)
"or by the -D invocation option, or by the "
"PGDATA environment variable.\n",
progname, ConfigFileName);
- return false;
+ goto fail;
}
SetConfigOption("ident_file", fname, PGC_POSTMASTER, PGC_S_OVERRIDE);
@@ -1977,6 +1976,11 @@ SelectConfigFiles(const char *userDoption, const char *progname)
free(configdir);
return true;
+
+fail:
+ free(configdir);
+
+ return false;
}
/*