diff --git a/contrib/chkpass/chkpass.c b/contrib/chkpass/chkpass.c
index 8b77fb2a3a065afaf18a36cfc9ebc51ef2813189..e20164eed2be166b0054afea4d044b8035e96745 100644
--- a/contrib/chkpass/chkpass.c
+++ b/contrib/chkpass/chkpass.c
@@ -4,7 +4,7 @@
  * darcy@druid.net
  * http://www.druid.net/darcy/
  *
- * $PostgreSQL: pgsql/contrib/chkpass/chkpass.c,v 1.14 2005/10/15 02:49:04 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/chkpass/chkpass.c,v 1.15 2006/03/19 22:22:55 neilc Exp $
  * best viewed with tabs set to 4
  */
 
@@ -108,11 +108,9 @@ chkpass_out(PG_FUNCTION_ARGS)
 	chkpass    *password = (chkpass *) PG_GETARG_POINTER(0);
 	char	   *result;
 
-	if ((result = (char *) palloc(16)) != NULL)
-	{
-		result[0] = ':';
-		strcpy(result + 1, password->password);
-	}
+	result = (char *) palloc(16);
+	result[0] = ':';
+	strcpy(result + 1, password->password);
 
 	PG_RETURN_CSTRING(result);
 }
@@ -129,11 +127,9 @@ chkpass_rout(PG_FUNCTION_ARGS)
 	chkpass    *password = (chkpass *) PG_GETARG_POINTER(0);
 	text	   *result;
 
-	if ((result = (text *) palloc(VARHDRSZ + 16)) != NULL)
-	{
-		result->vl_len = VARHDRSZ + strlen(password->password);
-		memcpy(result->vl_dat, password->password, strlen(password->password));
-	}
+	result = (text *) palloc(VARHDRSZ + 16);
+	result->vl_len = VARHDRSZ + strlen(password->password);
+	memcpy(result->vl_dat, password->password, strlen(password->password));
 
 	PG_RETURN_TEXT_P(result);
 }
diff --git a/contrib/fuzzystrmatch/fuzzystrmatch.c b/contrib/fuzzystrmatch/fuzzystrmatch.c
index 64b6c41b4252ad52b4e5aa134589d1bd97170aa5..29bba52596c52bd63a3a0785e44e0b8db0a14449 100644
--- a/contrib/fuzzystrmatch/fuzzystrmatch.c
+++ b/contrib/fuzzystrmatch/fuzzystrmatch.c
@@ -5,7 +5,7 @@
  *
  * Joe Conway <mail@joeconway.com>
  *
- * $PostgreSQL: pgsql/contrib/fuzzystrmatch/fuzzystrmatch.c,v 1.19 2006/03/11 04:38:29 momjian Exp $
+ * $PostgreSQL: pgsql/contrib/fuzzystrmatch/fuzzystrmatch.c,v 1.20 2006/03/19 22:22:56 neilc Exp $
  * Copyright (c) 2001-2006, PostgreSQL Global Development Group
  * ALL RIGHTS RESERVED;
  *
@@ -347,14 +347,10 @@ _metaphone(
 	if (max_phonemes == 0)
 	{							/* Assume largest possible */
 		*phoned_word = palloc(sizeof(char) * strlen(word) +1);
-		if (!*phoned_word)
-			return META_ERROR;
 	}
 	else
 	{
 		*phoned_word = palloc(sizeof(char) * max_phonemes + 1);
-		if (!*phoned_word)
-			return META_ERROR;
 	}
 
 	/*-- The first phoneme has to be processed specially. --*/
diff --git a/src/backend/utils/adt/cash.c b/src/backend/utils/adt/cash.c
index f9e2f10325a567691329208b3aa54deb076cd86d..a57cba0073a7ae67cfbfeb89ac67587b08336098 100644
--- a/src/backend/utils/adt/cash.c
+++ b/src/backend/utils/adt/cash.c
@@ -9,7 +9,7 @@
  * workings can be found in the book "Software Solutions in C" by
  * Dale Schumacher, Academic Press, ISBN: 0-12-632360-7.
  *
- * $PostgreSQL: pgsql/src/backend/utils/adt/cash.c,v 1.66 2005/10/15 02:49:28 momjian Exp $
+ * $PostgreSQL: pgsql/src/backend/utils/adt/cash.c,v 1.67 2006/03/19 22:22:56 neilc Exp $
  */
 
 #include "postgres.h"
@@ -291,10 +291,7 @@ cash_out(PG_FUNCTION_ARGS)
 	/* see if we need to signify negative amount */
 	if (minus)
 	{
-		if (!PointerIsValid(result = palloc(CASH_BUFSZ + 2 - count + strlen(nsymbol))))
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
+		result = palloc(CASH_BUFSZ + 2 - count + strlen(nsymbol));
 
 		/* Position code of 0 means use parens */
 		if (convention == 0)
@@ -306,11 +303,7 @@ cash_out(PG_FUNCTION_ARGS)
 	}
 	else
 	{
-		if (!PointerIsValid(result = palloc(CASH_BUFSZ + 2 - count)))
-			ereport(ERROR,
-					(errcode(ERRCODE_OUT_OF_MEMORY),
-					 errmsg("out of memory")));
-
+		result = palloc(CASH_BUFSZ + 2 - count);
 		strcpy(result, buf + count);
 	}
 
diff --git a/src/pl/plperl/SPI.xs b/src/pl/plperl/SPI.xs
index 738cbb61842cf50c8443e13efc7d54a304bf7b63..967ac0adbab0cbf8eadbe7bcf02d06062f925297 100644
--- a/src/pl/plperl/SPI.xs
+++ b/src/pl/plperl/SPI.xs
@@ -151,8 +151,6 @@ spi_spi_prepare(query, ...)
 		if (items < 1) 
 			Perl_croak(aTHX_ "Usage: spi_prepare(query, ...)");
 		argv = ( SV**) palloc(( items - 1) * sizeof(SV*));
-		if ( argv == NULL) 
-			Perl_croak(aTHX_ "spi_prepare: not enough memory");
 		for ( i = 1; i < items; i++) 
 			argv[i - 1] = ST(i);
 		RETVAL = plperl_spi_prepare(query, items - 1, argv);
@@ -179,8 +177,6 @@ spi_spi_exec_prepared(query, ...)
 		}
 		argc = items - offset;
 		argv = ( SV**) palloc( argc * sizeof(SV*));
-		if ( argv == NULL) 
-			Perl_croak(aTHX_ "spi_exec_prepared: not enough memory");
 		for ( i = 0; offset < items; offset++, i++) 
 			argv[i] = ST(offset);
 		ret_hash = plperl_spi_exec_prepared(query, attr, argc, argv);
@@ -199,8 +195,6 @@ spi_spi_query_prepared(query, ...)
 			Perl_croak(aTHX_ "Usage: spi_query_prepared(query, "
 					   "[\\@bind_values])");
 		argv = ( SV**) palloc(( items - 1) * sizeof(SV*));
-		if ( argv == NULL) 
-			Perl_croak(aTHX_ "spi_query_prepared: not enough memory");
 		for ( i = 1; i < items; i++) 
 			argv[i - 1] = ST(i);
 		RETVAL = plperl_spi_query_prepared(query, items - 1, argv);
diff --git a/src/pl/plperl/plperl.c b/src/pl/plperl/plperl.c
index 362bf77472551fe4602a8e9fbd8929386262cb3a..0524d9ebe4e4026b92c2a27e2dbca0aca2930ae2 100644
--- a/src/pl/plperl/plperl.c
+++ b/src/pl/plperl/plperl.c
@@ -1,7 +1,7 @@
 /**********************************************************************
  * plperl.c - perl as a procedural language for PostgreSQL
  *
- *	  $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.106 2006/03/14 22:48:23 tgl Exp $
+ *	  $PostgreSQL: pgsql/src/pl/plperl/plperl.c,v 1.107 2006/03/19 22:22:56 neilc Exp $
  *
  **********************************************************************/
 
@@ -2122,8 +2122,6 @@ plperl_spi_exec_prepared(char* query, HV * attr, int argc, SV ** argv)
 		{
 			nulls = (char *)palloc( argc);
 			argvalues = (Datum *) palloc(argc * sizeof(Datum));
-			if ( nulls == NULL || argvalues == NULL) 
-				elog(ERROR, "spi_exec_prepared: not enough memory");
 		} 
 		else 
 		{
@@ -2253,8 +2251,6 @@ plperl_spi_query_prepared(char* query, int argc, SV ** argv)
 		{
 			nulls = (char *)palloc( argc);
 			argvalues = (Datum *) palloc(argc * sizeof(Datum));
-			if ( nulls == NULL || argvalues == NULL) 
-				elog(ERROR, "spi_query_prepared: not enough memory");
 		} 
 		else 
 		{