OSDN Git Service

Fix a few places that were checking for the return value of palloc() to be
authorNeil Conway <neilc@samurai.com>
Sun, 19 Mar 2006 22:22:56 +0000 (22:22 +0000)
committerNeil Conway <neilc@samurai.com>
Sun, 19 Mar 2006 22:22:56 +0000 (22:22 +0000)
non-NULL: palloc() ereports on OOM, so we can safely assume it returns a
valid pointer.

contrib/chkpass/chkpass.c
contrib/fuzzystrmatch/fuzzystrmatch.c
src/backend/utils/adt/cash.c
src/pl/plperl/SPI.xs
src/pl/plperl/plperl.c

index 8b77fb2..e20164e 100644 (file)
@@ -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);
 }
index 64b6c41..29bba52 100644 (file)
@@ -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. --*/
index f9e2f10..a57cba0 100644 (file)
@@ -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);
        }
 
index 738cbb6..967ac0a 100644 (file)
@@ -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);
index 362bf77..0524d9e 100644 (file)
@@ -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 
                {