From: Tom Lane Date: Sun, 20 Feb 2000 04:26:35 +0000 (+0000) Subject: Reduce proc_exit(1) to proc_exit(0) for errors detected in backend X-Git-Tag: REL7_0~595 X-Git-Url: https://granicus.if.org/sourcecode?a=commitdiff_plain;h=4467194b4479537c319a1842d27feaf027ac9fe2;p=postgresql Reduce proc_exit(1) to proc_exit(0) for errors detected in backend command line processing. As it stood, a bogus PGOPTIONS value from a client would force a database system restart. Not bad as a denial- of-service attack... --- diff --git a/src/backend/tcop/postgres.c b/src/backend/tcop/postgres.c index 2415ef3c96..1f333f46af 100644 --- a/src/backend/tcop/postgres.c +++ b/src/backend/tcop/postgres.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.143 2000/02/19 22:10:47 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/tcop/postgres.c,v 1.144 2000/02/20 04:26:35 tgl Exp $ * * NOTES * this is the "main" module of the postgres backend and @@ -1256,7 +1256,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) (ShowParserStats || ShowPlannerStats || ShowExecutorStats)) { fprintf(stderr, "-s can not be used together with -t.\n"); - proc_exit(1); + proc_exit(0); } if (!DataDir) @@ -1264,7 +1264,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) fprintf(stderr, "%s does not know where to find the database system " "data. You must specify the directory that contains the " "database system either by specifying the -D invocation " - "option or by setting the PGDATA environment variable.\n\n", + "option or by setting the PGDATA environment variable.\n\n", argv[0]); proc_exit(1); } @@ -1324,7 +1324,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) if (errs || argc != optind || DBName == NULL) { usage(argv[0]); - proc_exit(1); + proc_exit(0); } pq_init(); /* initialize libpq at backend startup */ whereToSendOutput = Remote; @@ -1337,7 +1337,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) if (errs || argc - optind > 1) { usage(argv[0]); - proc_exit(1); + proc_exit(0); } else if (argc - optind == 1) DBName = argv[optind]; @@ -1345,7 +1345,7 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) { fprintf(stderr, "%s: USER undefined and no database specified\n", argv[0]); - proc_exit(1); + proc_exit(0); } /* @@ -1503,14 +1503,14 @@ PostgresMain(int argc, char *argv[], int real_argc, char *real_argv[]) if (!IsUnderPostmaster) { puts("\nPOSTGRES backend interactive interface "); - puts("$Revision: 1.143 $ $Date: 2000/02/19 22:10:47 $\n"); + puts("$Revision: 1.144 $ $Date: 2000/02/20 04:26:35 $\n"); } /* * Initialize the deferred trigger manager */ if (DeferredTriggerInit() != 0) - proc_exit(1); + proc_exit(0); SetProcessingMode(NormalProcessing);