diff --git a/src/backend/libpq/crypt.c b/src/backend/libpq/crypt.c index c75d8ac4590eaba87e6283082567ebdb1ca89626..4e4cb15f81b3886b46fbcb1d26e621d534da51c8 100644 --- a/src/backend/libpq/crypt.c +++ b/src/backend/libpq/crypt.c @@ -25,9 +25,13 @@ char* crypt_getpwdfilename() { static char* filename = NULL; if (!filename) { - char* env; + char* env = NULL; env = getenv("PGDATA"); + if(env == NULL) { + elog(FATAL, "crypt.c: PGDATA is not defined"); + exit(-1); + } filename = (char*)malloc(strlen(env) + strlen(CRYPT_PWD_FILE) + 2); sprintf(filename, "%s/%s", env, CRYPT_PWD_FILE); } diff --git a/src/backend/postmaster/postmaster.c b/src/backend/postmaster/postmaster.c index b4d1f9559926883d1f1be150f3ea829c42a887c8..7201d0a6d994429cd7545f63d8fe84c83d427597 100644 --- a/src/backend/postmaster/postmaster.c +++ b/src/backend/postmaster/postmaster.c @@ -10,7 +10,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.63 1997/12/04 00:27:17 scrappy Exp $ + * $Header: /cvsroot/pgsql/src/backend/postmaster/postmaster.c,v 1.64 1997/12/07 20:57:45 scrappy Exp $ * * NOTES * @@ -332,6 +332,11 @@ PostmasterMain(int argc, char *argv[]) case 'D': /* Set PGDATA from the command line. */ DataDir = optarg; + { + char envEntry[2 * ARGV_SIZE]; + sprintf(envEntry, "PGDATA=%s", DataDir); + putenv(envEntry); + } break; case 'd': @@ -1151,8 +1156,8 @@ BackendStartup(StartupInfo *packet, /* client's startup packet */ sprintf(envEntry[3], "PGDATA=%s", DataDir); putenv(envEntry[3]); } - sprintf(envEntry[4], "IPC_KEY=%d", ipc_key); - putenv(envEntry[4]); + sprintf(envEntry[4], "IPC_KEY=%d", ipc_key); + putenv(envEntry[4]); if (DebugLvl > 2) {