From: Tom Lane Date: Wed, 30 Nov 2022 18:01:41 +0000 (-0500) Subject: Reject missing database name in pg_regress and cohorts. X-Git-Tag: REL_16_BETA1~1204 X-Git-Url: http://git.postgresql.org/gitweb/?a=commitdiff_plain;h=d5515ca7cf1b095fab65c93710c71fece5baf67e;p=postgresql.git Reject missing database name in pg_regress and cohorts. Writing "pg_regress --dbname= ..." led to a crash, because we weren't expecting there to be no database name supplied. It doesn't seem like a great idea to run regression tests in whatever is the user's default database; so rather than supporting this case let's explicitly reject it. Per report from Xing Guo. Back-patch to all supported branches. Discussion: https://postgr.es/m/CACpMh+A8cRvtvtOWVAZsCM1DU81GK4DL26R83y6ugZ1osV=ifA@mail.gmail.com --- diff --git a/src/test/regress/pg_regress.c b/src/test/regress/pg_regress.c index dda076847a3..f308da6c503 100644 --- a/src/test/regress/pg_regress.c +++ b/src/test/regress/pg_regress.c @@ -2182,6 +2182,17 @@ regression_main(int argc, char *argv[], optind++; } + /* + * We must have a database to run the tests in; either a default name, or + * one supplied by the --dbname switch. + */ + if (!(dblist && dblist->str && dblist->str[0])) + { + fprintf(stderr, _("%s: no database name was specified\n"), + progname); + exit(2); + } + if (config_auth_datadir) { #ifdef ENABLE_SSPI