Skip to content

Commit a587901

Browse files
committed
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
1 parent 7b96f52 commit a587901

File tree

1 file changed

+11
-0
lines changed

1 file changed

+11
-0
lines changed

src/test/regress/pg_regress.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2257,6 +2257,17 @@ regression_main(int argc, char *argv[], init_function ifunc, test_function tfunc
22572257
optind++;
22582258
}
22592259

2260+
/*
2261+
* We must have a database to run the tests in; either a default name, or
2262+
* one supplied by the --dbname switch.
2263+
*/
2264+
if (!(dblist && dblist->str && dblist->str[0]))
2265+
{
2266+
fprintf(stderr, _("%s: no database name was specified\n"),
2267+
progname);
2268+
exit(2);
2269+
}
2270+
22602271
if (config_auth_datadir)
22612272
{
22622273
#ifdef ENABLE_SSPI

0 commit comments

Comments
 (0)