v1-0002-TODO-What-to-do-about-when-we-allocate-an-array-o.patch
text/x-patch
Filename: v1-0002-TODO-What-to-do-about-when-we-allocate-an-array-o.patch
Type: text/x-patch
Part: 1
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: format-patch
Series: patch v1-0002
Subject: TODO: What to do about when we allocate an array of char?
| File | + | − |
|---|---|---|
| contrib/oid2name/oid2name.c | 4 | 4 |
| src/bin/initdb/initdb.c | 2 | 2 |
| src/bin/pg_basebackup/walmethods.c | 1 | 1 |
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