Commit 1983af8e authored by Michael Paquier's avatar Michael Paquier

Switch some palloc/memset calls to palloc0

Some code paths have been doing some allocations followed by an
immediate memset() to initialize the allocated area with zeros, this is
a bit overkill as there are already interfaces to do both things in one
call.

Author: Daniel Gustafsson
Reviewed-by: Michael Paquier
Discussion: https://postgr.es/m/vN0OodBPkKs7g2Z1uyk3CUEmhdtspHgYCImhlmSxv1Xn6nY1ZnaaGHL8EWUIQ-NEv36tyc4G5-uA3UXUF2l4sFXtK_EQgLN1hcgunlFVKhA=@yesql.se
parent 5bde1651
...@@ -867,11 +867,8 @@ get_crosstab_tuplestore(char *sql, ...@@ -867,11 +867,8 @@ get_crosstab_tuplestore(char *sql,
"tuple has %d columns but crosstab " \ "tuple has %d columns but crosstab " \
"returns %d.", tupdesc->natts, result_ncols))); "returns %d.", tupdesc->natts, result_ncols)));
/* allocate space */ /* allocate space and make sure it's clear */
values = (char **) palloc(result_ncols * sizeof(char *)); values = (char **) palloc0(result_ncols * sizeof(char *));
/* and make sure it's clear */
memset(values, '\0', result_ncols * sizeof(char *));
for (i = 0; i < proc; i++) for (i = 0; i < proc; i++)
{ {
......
...@@ -43,8 +43,7 @@ static void gistprunepage(Relation rel, Page page, Buffer buffer, ...@@ -43,8 +43,7 @@ static void gistprunepage(Relation rel, Page page, Buffer buffer,
#define ROTATEDIST(d) do { \ #define ROTATEDIST(d) do { \
SplitedPageLayout *tmp=(SplitedPageLayout*)palloc(sizeof(SplitedPageLayout)); \ SplitedPageLayout *tmp=(SplitedPageLayout*)palloc0(sizeof(SplitedPageLayout)); \
memset(tmp,0,sizeof(SplitedPageLayout)); \
tmp->block.blkno = InvalidBlockNumber; \ tmp->block.blkno = InvalidBlockNumber; \
tmp->buffer = InvalidBuffer; \ tmp->buffer = InvalidBuffer; \
tmp->next = (d); \ tmp->next = (d); \
......
...@@ -1382,8 +1382,7 @@ SortTocFromFile(Archive *AHX) ...@@ -1382,8 +1382,7 @@ SortTocFromFile(Archive *AHX)
bool incomplete_line; bool incomplete_line;
/* Allocate space for the 'wanted' array, and init it */ /* Allocate space for the 'wanted' array, and init it */
ropt->idWanted = (bool *) pg_malloc(sizeof(bool) * AH->maxDumpId); ropt->idWanted = (bool *) pg_malloc0(sizeof(bool) * AH->maxDumpId);
memset(ropt->idWanted, 0, sizeof(bool) * AH->maxDumpId);
/* Setup the file */ /* Setup the file */
fh = fopen(ropt->tocFile, PG_BINARY_R); fh = fopen(ropt->tocFile, PG_BINARY_R);
......
...@@ -320,8 +320,7 @@ TopoSort(DumpableObject **objs, ...@@ -320,8 +320,7 @@ TopoSort(DumpableObject **objs,
* We also make a map showing the input-order index of the item with * We also make a map showing the input-order index of the item with
* dumpId j. * dumpId j.
*/ */
beforeConstraints = (int *) pg_malloc((maxDumpId + 1) * sizeof(int)); beforeConstraints = (int *) pg_malloc0((maxDumpId + 1) * sizeof(int));
memset(beforeConstraints, 0, (maxDumpId + 1) * sizeof(int));
idMap = (int *) pg_malloc((maxDumpId + 1) * sizeof(int)); idMap = (int *) pg_malloc((maxDumpId + 1) * sizeof(int));
for (i = 0; i < numObjs; i++) for (i = 0; i < numObjs; i++)
{ {
......
...@@ -5301,8 +5301,7 @@ main(int argc, char **argv) ...@@ -5301,8 +5301,7 @@ main(int argc, char **argv)
else if ((env = getenv("PGUSER")) != NULL && *env != '\0') else if ((env = getenv("PGUSER")) != NULL && *env != '\0')
login = env; login = env;
state = (CState *) pg_malloc(sizeof(CState)); state = (CState *) pg_malloc0(sizeof(CState));
memset(state, 0, sizeof(CState));
/* set random seed early, because it may be used while parsing scripts. */ /* set random seed early, because it may be used while parsing scripts. */
if (!set_random_seed(getenv("PGBENCH_RANDOM_SEED"))) if (!set_random_seed(getenv("PGBENCH_RANDOM_SEED")))
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment