aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorHeikki Linnakangas <heikki.linnakangas@iki.fi>2014-10-24 18:59:08 +0300
committerHeikki Linnakangas <heikki.linnakangas@iki.fi>2014-10-24 19:15:57 +0300
commit2d53003432f8560b9c3adf569118747c8ac8447d (patch)
tree117f26772760b6311159ac9c50acbd1aa0602b0d /src
parent22b743b2ca18a692ba8d91bc18e7c42a8b7941ad (diff)
downloadpostgresql-2d53003432f8560b9c3adf569118747c8ac8447d.tar.gz
postgresql-2d53003432f8560b9c3adf569118747c8ac8447d.zip
Complain if too many options are passed to pg_controldata or pg_resetxlog.
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_controldata/pg_controldata.c10
-rw-r--r--src/bin/pg_resetxlog/pg_resetxlog.c17
2 files changed, 24 insertions, 3 deletions
diff --git a/src/bin/pg_controldata/pg_controldata.c b/src/bin/pg_controldata/pg_controldata.c
index dd68f793c3d..d0cf039f42a 100644
--- a/src/bin/pg_controldata/pg_controldata.c
+++ b/src/bin/pg_controldata/pg_controldata.c
@@ -142,6 +142,16 @@ main(int argc, char *argv[])
DataDir = getenv("PGDATA");
}
+ /* Complain if any arguments remain */
+ if (optind < argc)
+ {
+ fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
+ progname, argv[optind]);
+ fprintf(stderr, _("Try \"%s --help\" for more information.\n"),
+ progname);
+ exit(1);
+ }
+
if (DataDir == NULL)
{
fprintf(stderr, _("%s: no data directory specified\n"), progname);
diff --git a/src/bin/pg_resetxlog/pg_resetxlog.c b/src/bin/pg_resetxlog/pg_resetxlog.c
index 028a1f05665..f4c1eafc67c 100644
--- a/src/bin/pg_resetxlog/pg_resetxlog.c
+++ b/src/bin/pg_resetxlog/pg_resetxlog.c
@@ -237,14 +237,25 @@ main(int argc, char *argv[])
}
}
- if (DataDir == NULL && optind == argc)
+ if (DataDir == NULL && optind < argc)
+ DataDir = argv[optind++];
+
+ /* Complain if any arguments remain */
+ if (optind < argc)
+ {
+ fprintf(stderr, _("%s: too many command-line arguments (first is \"%s\")\n"),
+ progname, argv[optind]);
+ fprintf(stderr, _("Try \"%s --help\" for more information.\n"),
+ progname);
+ exit(1);
+ }
+
+ if (DataDir == NULL)
{
fprintf(stderr, _("%s: no data directory specified\n"), progname);
fprintf(stderr, _("Try \"%s --help\" for more information.\n"), progname);
exit(1);
}
- if (DataDir == NULL)
- DataDir = argv[optind];
/*
* Don't allow pg_resetxlog to be run as root, to avoid overwriting the