From 635d00ecea111cf316fcd430159012f39402403a Mon Sep 17 00:00:00 2001 From: Tom Lane Date: Fri, 8 Aug 2003 19:19:32 +0000 Subject: [PATCH] Avoid malloc(0). Although standard mallocs seem not to object, some debugging malloc packages do. --- src/pl/plpgsql/src/pl_comp.c | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/src/pl/plpgsql/src/pl_comp.c b/src/pl/plpgsql/src/pl_comp.c index 2cc43f8624..e4d7b3c062 100644 --- a/src/pl/plpgsql/src/pl_comp.c +++ b/src/pl/plpgsql/src/pl_comp.c @@ -3,7 +3,7 @@ * procedural language * * IDENTIFICATION - * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.65 2003/08/04 00:43:33 momjian Exp $ + * $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.66 2003/08/08 19:19:32 tgl Exp $ * * This software is copyrighted by Jan Wieck - Hamburg. * @@ -1663,20 +1663,25 @@ plpgsql_add_initdatums(int **varnos) if (varnos != NULL) { - *varnos = (int *) malloc(sizeof(int) * n); - - n = 0; - for (i = datums_last; i < plpgsql_nDatums; i++) + if (n > 0) { - switch (plpgsql_Datums[i]->dtype) + *varnos = (int *) malloc(sizeof(int) * n); + + n = 0; + for (i = datums_last; i < plpgsql_nDatums; i++) { - case PLPGSQL_DTYPE_VAR: - (*varnos)[n++] = plpgsql_Datums[i]->dno; + switch (plpgsql_Datums[i]->dtype) + { + case PLPGSQL_DTYPE_VAR: + (*varnos)[n++] = plpgsql_Datums[i]->dno; - default: - break; + default: + break; + } } } + else + *varnos = NULL; } datums_last = plpgsql_nDatums; -- 2.11.0