From: Michael Paquier Date: Wed, 27 Mar 2019 03:02:50 +0000 (+0900) Subject: Switch some palloc/memset calls to palloc0 X-Git-Url: http://git.postgresql.org/gitweb/-?a=commitdiff_plain;h=1983af8e899389187026cb34c1ca9d89ea986120;p=users%2Frhaas%2Fpostgres.git 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 --- 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")))