aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorPeter Eisentraut <peter@eisentraut.org>2019-08-29 16:19:35 +0200
committerPeter Eisentraut <peter@eisentraut.org>2019-08-29 18:49:41 +0200
commit9684e426954921e8b2bfa367f9e6a4cbbf4ce5ff (patch)
tree81de4eff47575ddeccc9072cf0b94eb205e1647c /src
parent317b3d7ae271eca64d49c9c0fddccc3b1e2cb1f6 (diff)
downloadpostgresql-9684e426954921e8b2bfa367f9e6a4cbbf4ce5ff.tar.gz
postgresql-9684e426954921e8b2bfa367f9e6a4cbbf4ce5ff.zip
Error out on too many command-line arguments
Fix up oid2name, pg_upgrade, and pgbench to error out on too many command-line arguments. This makes it match the behavior of other PostgreSQL programs. Author: Peter Eisentraut, Ibrar Ahmed Discussion: https://www.postgresql.org/message-id/flat/f2554627-04e7-383a-ef01-ab99bb6a291c%402ndquadrant.com
Diffstat (limited to 'src')
-rw-r--r--src/bin/pg_upgrade/option.c3
-rw-r--r--src/bin/pgbench/pgbench.c10
2 files changed, 12 insertions, 1 deletions
diff --git a/src/bin/pg_upgrade/option.c b/src/bin/pg_upgrade/option.c
index 8d66be085a4..28ff4c48ed3 100644
--- a/src/bin/pg_upgrade/option.c
+++ b/src/bin/pg_upgrade/option.c
@@ -218,6 +218,9 @@ parseCommandLine(int argc, char *argv[])
}
}
+ if (optind < argc)
+ pg_fatal("too many command-line arguments (first is \"%s\")\n", argv[optind]);
+
if ((log_opts.internal = fopen_priv(INTERNAL_LOG_FILE, "a")) == NULL)
pg_fatal("could not open log file \"%s\": %m\n", INTERNAL_LOG_FILE);
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index 570cf3306af..ed7652bfbf6 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -5540,7 +5540,7 @@ main(int argc, char **argv)
throttle_delay *= nthreads;
if (argc > optind)
- dbName = argv[optind];
+ dbName = argv[optind++];
else
{
if ((env = getenv("PGDATABASE")) != NULL && *env != '\0')
@@ -5551,6 +5551,14 @@ main(int argc, char **argv)
dbName = "";
}
+ 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 (is_init_mode)
{
if (benchmarking_option_set)