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 6aca764d5e
commit 7180e2bed7
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))