Canonicalize the data directory path when parsing the configuration file

This ensures the provided path matches the path PostgreSQL reports as its
data directory.
This commit is contained in:
Ian Barwick
2019-06-07 09:47:20 +09:00
parent 089c778e49
commit 81d01bf0e8
3 changed files with 17 additions and 1 deletions

View File

@@ -502,10 +502,15 @@ _parse_config(t_configuration_options *options, ItemList *error_list, ItemList *
else if (strcmp(name, "conninfo") == 0)
strncpy(options->conninfo, value, MAXLEN);
else if (strcmp(name, "data_directory") == 0)
{
strncpy(options->data_directory, value, MAXPGPATH);
canonicalize_path(options->data_directory);
}
else if (strcmp(name, "config_directory") == 0)
{
strncpy(options->config_directory, value, MAXPGPATH);
canonicalize_path(options->config_directory);
}
else if (strcmp(name, "replication_user") == 0)
{
if (strlen(value) < sizeof(options->replication_user))