From a323ede2802956f115d71599514fbc01f2575dee Mon Sep 17 00:00:00 2001 From: Neil Conway Date: Sun, 19 Mar 2006 22:22:56 +0000 Subject: [PATCH] Fix a few places that were checking for the return value of palloc() to be non-NULL: palloc() ereports on OOM, so we can safely assume it returns a valid pointer. --- contrib/chkpass/chkpass.c | 18 +++++++----------- contrib/fuzzystrmatch/fuzzystrmatch.c | 6 +----- src/backend/utils/adt/cash.c | 13 +++---------- src/pl/plperl/SPI.xs | 6 ------ src/pl/plperl/plperl.c | 6 +----- 5 files changed, 12 insertions(+), 37 deletions(-) diff --git a/contrib/chkpass/chkpass.c b/contrib/chkpass/chkpass.c index 8b77fb2a3a..e20164eed2 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 64b6c41b42..29bba52596 100644 --- a/contrib/fuzzystrmatch/fuzzystrmatch.c +++ b/contrib/fuzzystrmatch/fuzzystrmatch.c @@ -5,7 +5,7 @@ * * Joe Conway * - * $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 f9e2f10325..a57cba0073 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 738cbb6184..967ac0adba 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 362bf77472..0524d9ebe4 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 { -- 2.40.0