From 1e6fcfa51df10912e665cc9bd583e49eb03f6f13 Mon Sep 17 00:00:00 2001 From: Andreas Karlsson Date: Fri, 27 Feb 2026 02:11:17 +0100 Subject: [PATCH v1 2/3] TODO: What to do about when we allocate an array of char? --- contrib/oid2name/oid2name.c | 8 ++++---- src/bin/initdb/initdb.c | 4 ++-- src/bin/pg_basebackup/walmethods.c | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/contrib/oid2name/oid2name.c b/contrib/oid2name/oid2name.c index 1e9efcd3953..cfa342a2926 100644 --- a/contrib/oid2name/oid2name.c +++ b/contrib/oid2name/oid2name.c @@ -275,7 +275,7 @@ get_comma_elts(eary *eary) for (i = 0; i < eary->num; i++) length += strlen(eary->array[i]); - ret = (char *) pg_malloc(length * 2 + 4 * eary->num); + ret = pg_malloc_array(char, length * 2 + 4 * eary->num); ptr = ret; for (i = 0; i < eary->num; i++) @@ -423,7 +423,7 @@ sql_exec(PGconn *conn, const char *todo, bool quiet) l += length[j] + 2; } fprintf(stdout, "\n"); - pad = (char *) pg_malloc(l + 1); + pad = pg_malloc_array(char, l + 1); memset(pad, '-', l); pad[l] = '\0'; fprintf(stdout, "%s\n", pad); @@ -515,8 +515,8 @@ sql_exec_searchtables(PGconn *conn, struct options *opts) comma_filenumbers = get_comma_elts(opts->filenumbers); /* 80 extra chars for SQL expression */ - qualifiers = (char *) pg_malloc(strlen(comma_oids) + strlen(comma_tables) + - strlen(comma_filenumbers) + 80); + qualifiers = pg_malloc_array(char, strlen(comma_oids) + strlen(comma_tables) + + strlen(comma_filenumbers) + 80); ptr = qualifiers; if (opts->oids->num > 0) diff --git a/src/bin/initdb/initdb.c b/src/bin/initdb/initdb.c index 53ec1544ff3..b6916bad201 100644 --- a/src/bin/initdb/initdb.c +++ b/src/bin/initdb/initdb.c @@ -426,7 +426,7 @@ escape_quotes_bki(const char *src) char *resultp; char *datap; - result = (char *) pg_malloc(strlen(data) + 3); + result = pg_malloc_array(char, strlen(data) + 3); resultp = result; *resultp++ = '\''; for (datap = data; *datap; datap++) @@ -492,7 +492,7 @@ replace_token(char **lines, const char *token, const char *replacement) /* if we get here a change is needed - set up new line */ - newline = (char *) pg_malloc(strlen(lines[i]) + diff + 1); + newline = pg_malloc_array(char, strlen(lines[i]) + diff + 1); pre = where - lines[i]; diff --git a/src/bin/pg_basebackup/walmethods.c b/src/bin/pg_basebackup/walmethods.c index 476673cf729..3a6b3b5f45b 100644 --- a/src/bin/pg_basebackup/walmethods.c +++ b/src/bin/pg_basebackup/walmethods.c @@ -102,7 +102,7 @@ static char * dir_get_file_name(WalWriteMethod *wwmethod, const char *pathname, const char *temp_suffix) { - char *filename = pg_malloc0(MAXPGPATH * sizeof(char)); + char *filename = pg_malloc0_array(char, MAXPGPATH); snprintf(filename, MAXPGPATH, "%s%s%s", pathname, -- 2.47.3