0001-pg_upgrade-Error-out-on-too-many-command-line-argume.patch

text/plain

Filename: 0001-pg_upgrade-Error-out-on-too-many-command-line-argume.patch
Type: text/plain
Part: 0
Message: pg_upgrade: Error out on too many command-line arguments

Patch

Format: format-patch
Series: patch 0001
Subject: pg_upgrade: Error out on too many command-line arguments
File+
src/bin/pg_upgrade/option.c 3 0
From 64bbb562b90bd6272988c608524da2339323f114 Mon Sep 17 00:00:00 2001
From: Peter Eisentraut <peter@eisentraut.org>
Date: Sun, 25 Aug 2019 10:46:07 +0200
Subject: [PATCH] pg_upgrade: Error out on too many command-line arguments

This makes it match the behavior of other PostgreSQL programs.

pg_upgrade doesn't take any non-option arguments, so these are always
a mistake.
---
 src/bin/pg_upgrade/option.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/src/bin/pg_upgrade/option.c b/src/bin/pg_upgrade/option.c
index e4093ed5af..6afdbeabc8 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);
 
-- 
2.22.0