Skip to content

Commit 635d00e

Browse files
committed
Avoid malloc(0). Although standard mallocs seem not to object,
some debugging malloc packages do.
1 parent 332c694 commit 635d00e

File tree

1 file changed

+15
-10
lines changed

1 file changed

+15
-10
lines changed

src/pl/plpgsql/src/pl_comp.c

Lines changed: 15 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
* procedural language
44
*
55
* IDENTIFICATION
6-
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.65 2003/08/04 00:43:33 momjian Exp $
6+
* $Header: /cvsroot/pgsql/src/pl/plpgsql/src/pl_comp.c,v 1.66 2003/08/08 19:19:32 tgl Exp $
77
*
88
* This software is copyrighted by Jan Wieck - Hamburg.
99
*
@@ -1663,20 +1663,25 @@ plpgsql_add_initdatums(int **varnos)
16631663

16641664
if (varnos != NULL)
16651665
{
1666-
*varnos = (int *) malloc(sizeof(int) * n);
1667-
1668-
n = 0;
1669-
for (i = datums_last; i < plpgsql_nDatums; i++)
1666+
if (n > 0)
16701667
{
1671-
switch (plpgsql_Datums[i]->dtype)
1668+
*varnos = (int *) malloc(sizeof(int) * n);
1669+
1670+
n = 0;
1671+
for (i = datums_last; i < plpgsql_nDatums; i++)
16721672
{
1673-
case PLPGSQL_DTYPE_VAR:
1674-
(*varnos)[n++] = plpgsql_Datums[i]->dno;
1673+
switch (plpgsql_Datums[i]->dtype)
1674+
{
1675+
case PLPGSQL_DTYPE_VAR:
1676+
(*varnos)[n++] = plpgsql_Datums[i]->dno;
16751677

1676-
default:
1677-
break;
1678+
default:
1679+
break;
1680+
}
16781681
}
16791682
}
1683+
else
1684+
*varnos = NULL;
16801685
}
16811686

16821687
datums_last = plpgsql_nDatums;

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy