From 1e6fcfa51df10912e665cc9bd583e49eb03f6f13 Mon Sep 17 00:00:00 2001
From: Andreas Karlsson <andreas@proxel.se>
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

