summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMichael Paquier2019-03-27 03:02:50 +0000
committerMichael Paquier2019-03-27 03:02:50 +0000
commit1983af8e899389187026cb34c1ca9d89ea986120 (patch)
tree9bdef33ce2dcffd83fe159032272cd94b0aa6a46
parent5bde1651bbba9984dc32bbeb68b329cfd3f92767 (diff)
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
-rw-r--r--contrib/tablefunc/tablefunc.c7
-rw-r--r--src/backend/access/gist/gist.c3
-rw-r--r--src/bin/pg_dump/pg_backup_archiver.c3
-rw-r--r--src/bin/pg_dump/pg_dump_sort.c3
-rw-r--r--src/bin/pgbench/pgbench.c3
5 files changed, 6 insertions, 13 deletions
diff --git a/contrib/tablefunc/tablefunc.c b/contrib/tablefunc/tablefunc.c
index 02e4921410..cd02495c45 100644
--- a/contrib/tablefunc/tablefunc.c
+++ b/contrib/tablefunc/tablefunc.c
@@ -867,11 +867,8 @@ get_crosstab_tuplestore(char *sql,
"tuple has %d columns but crosstab " \
"returns %d.", tupdesc->natts, result_ncols)));
- /* allocate space */
- values = (char **) palloc(result_ncols * sizeof(char *));
-
- /* and make sure it's clear */
- memset(values, '\0', result_ncols * sizeof(char *));
+ /* allocate space and make sure it's clear */
+ values = (char **) palloc0(result_ncols * sizeof(char *));
for (i = 0; i < proc; i++)
{
diff --git a/src/backend/access/gist/gist.c b/src/backend/access/gist/gist.c
index a746e911f3..2fddb23496 100644
--- a/src/backend/access/gist/gist.c
+++ b/src/backend/access/gist/gist.c
@@ -43,8 +43,7 @@ static void gistprunepage(Relation rel, Page page, Buffer buffer,
#define ROTATEDIST(d) do { \
- SplitedPageLayout *tmp=(SplitedPageLayout*)palloc(sizeof(SplitedPageLayout)); \
- memset(tmp,0,sizeof(SplitedPageLayout)); \
+ SplitedPageLayout *tmp=(SplitedPageLayout*)palloc0(sizeof(SplitedPageLayout)); \
tmp->block.blkno = InvalidBlockNumber; \
tmp->buffer = InvalidBuffer; \
tmp->next = (d); \
diff --git a/src/bin/pg_dump/pg_backup_archiver.c b/src/bin/pg_dump/pg_backup_archiver.c
index 2266c99b33..6131cdda96 100644
--- a/src/bin/pg_dump/pg_backup_archiver.c
+++ b/src/bin/pg_dump/pg_backup_archiver.c
@@ -1382,8 +1382,7 @@ SortTocFromFile(Archive *AHX)
bool incomplete_line;
/* Allocate space for the 'wanted' array, and init it */
- ropt->idWanted = (bool *) pg_malloc(sizeof(bool) * AH->maxDumpId);
- memset(ropt->idWanted, 0, sizeof(bool) * AH->maxDumpId);
+ ropt->idWanted = (bool *) pg_malloc0(sizeof(bool) * AH->maxDumpId);
/* Setup the file */
fh = fopen(ropt->tocFile, PG_BINARY_R);
diff --git a/src/bin/pg_dump/pg_dump_sort.c b/src/bin/pg_dump/pg_dump_sort.c
index bb128c89f3..a7a5b1e7f7 100644
--- a/src/bin/pg_dump/pg_dump_sort.c
+++ b/src/bin/pg_dump/pg_dump_sort.c
@@ -320,8 +320,7 @@ TopoSort(DumpableObject **objs,
* We also make a map showing the input-order index of the item with
* dumpId j.
*/
- beforeConstraints = (int *) pg_malloc((maxDumpId + 1) * sizeof(int));
- memset(beforeConstraints, 0, (maxDumpId + 1) * sizeof(int));
+ beforeConstraints = (int *) pg_malloc0((maxDumpId + 1) * sizeof(int));
idMap = (int *) pg_malloc((maxDumpId + 1) * sizeof(int));
for (i = 0; i < numObjs; i++)
{
diff --git a/src/bin/pgbench/pgbench.c b/src/bin/pgbench/pgbench.c
index b1afe44817..cdd21d7469 100644
--- a/src/bin/pgbench/pgbench.c
+++ b/src/bin/pgbench/pgbench.c
@@ -5301,8 +5301,7 @@ main(int argc, char **argv)
else if ((env = getenv("PGUSER")) != NULL && *env != '\0')
login = env;
- state = (CState *) pg_malloc(sizeof(CState));
- memset(state, 0, sizeof(CState));
+ state = (CState *) pg_malloc0(sizeof(CState));
/* set random seed early, because it may be used while parsing scripts. */
if (!set_random_seed(getenv("PGBENCH_RANDOM_SEED")))