From c6b1ef8fe7c33e98e0323396c33710ef90824361 Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 1 Jun 2001 20:29:43 +0000 Subject: Check for malloc failure. --- src/backend/utils/init/miscinit.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/backend/utils/init/miscinit.c') diff --git a/src/backend/utils/init/miscinit.c b/src/backend/utils/init/miscinit.c index e8ad53d1bd9..544b57ff1d6 100644 --- a/src/backend/utils/init/miscinit.c +++ b/src/backend/utils/init/miscinit.c @@ -8,7 +8,7 @@ * * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.67 2001/05/18 17:49:52 tgl Exp $ + * $Header: /cvsroot/pgsql/src/backend/utils/init/miscinit.c,v 1.68 2001/06/01 20:27:41 tgl Exp $ * *------------------------------------------------------------------------- */ @@ -143,14 +143,18 @@ SetDataDir(const char *dir) } new = malloc(strlen(buf) + 1 + strlen(dir) + 1); + if (!new) + elog(FATAL, "out of memory"); sprintf(new, "%s/%s", buf, dir); free(buf); } else + { new = strdup(dir); + if (!new) + elog(FATAL, "out of memory"); + } - if (!new) - elog(FATAL, "out of memory"); DataDir = new; } @@ -278,10 +282,15 @@ SetCharSet() { map_file = (char *) malloc((strlen(DataDir) + strlen(p) + 2) * sizeof(char)); + if (! map_file) + elog(FATAL, "out of memory"); sprintf(map_file, "%s/%s", DataDir, p); file = AllocateFile(map_file, PG_BINARY_R); if (file == NULL) + { + free(map_file); return; + } eof = false; while (!eof) { -- cgit v1.2.3