public inbox for [email protected]  
help / color / mirror / Atom feed
From: Imran Zaheer <[email protected]>
To: pgsql-hackers <[email protected]>
Subject: Silence -Wmaybe-uninitialized warnings
Date: Thu, 2 Apr 2026 14:49:51 +0500
Message-ID: <CA+UBfa=H9RQdZ8Tof+SF7gMC-FTrsJ_w=Vnxs4OiBAaB_go+tQ@mail.gmail.com> (raw)

Hi

When building postgresql with CFLAGS="-Og" gcc emits
'-Wmaybe-uninitialized' warnings at few places. The variables are
initialized on all execution paths but the compiler was not able to
prove it with the additional optimization flag enabled. The patch
initializes the variables with NULL to silence the warnings. No
functional change intended.

```
[646/2085] Compiling C object
src/backend/postgres_lib.a.p/commands_copyfromparse.c.o
../src/backend/commands/copyfromparse.c: In function ‘CopyFromTextOneRow’:
../src/backend/commands/copyfromparse.c:995:39: warning:
‘field_strings’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
  995 |                 string = field_strings[fieldno++];
      |                                       ^
../src/backend/commands/copyfromparse.c:961:21: note: ‘field_strings’
was declared here
  961 |         char      **field_strings;
      |                     ^~~~~~~~~~~~~
../src/backend/commands/copyfromparse.c: In function ‘CopyFromCSVOneRow’:
../src/backend/commands/copyfromparse.c:995:39: warning:
‘field_strings’ may be used uninitialized in this function
[-Wmaybe-uninitialized]
  995 |                 string = field_strings[fieldno++];
      |                                       ^
../src/backend/commands/copyfromparse.c:961:21: note: ‘field_strings’
was declared here
  961 |         char      **field_strings;
      |                     ^~~~~~~~~~~~~
[889/2085] Compiling C object
src/backend/postgres_lib.a.p/partitioning_partbounds.c.o
../src/backend/partitioning/partbounds.c: In function
‘check_partition_bounds_for_split_range’:
../src/backend/partitioning/partbounds.c:5452:57: warning: ‘datum’ may
be used uninitialized in this function [-Wmaybe-uninitialized]
 5452 |
parser_errposition(pstate, exprLocation((Node *) datum)));
      |
```
gcc (Ubuntu 11.4.0-1ubuntu1~22.04.3) 11.4.0


Regards
Imran Zaheer


Attachments:

  [text/x-patch] v1-0001-Silence-Wmaybe-uninitialized-warnings.patch (1.5K, 2-v1-0001-Silence-Wmaybe-uninitialized-warnings.patch)
  download | inline diff:
From 58ec322de2f210355e6ec1a16df4988be63e5acb Mon Sep 17 00:00:00 2001
From: Imran Zaheer <[email protected]>
Date: Thu, 2 Apr 2026 14:02:47 +0500
Subject: [PATCH v1] Silence -Wmaybe-uninitialized warnings

When building with CFLAGS="-Og", GCC was emitting
-Wmaybe-uninitialized warnings for some variables.

Initialize variables to NULL to silence the warnings.
---
 src/backend/commands/copyfromparse.c  | 2 +-
 src/backend/partitioning/partbounds.c | 2 +-
 2 files changed, 2 insertions(+), 2 deletions(-)

diff --git a/src/backend/commands/copyfromparse.c b/src/backend/commands/copyfromparse.c
index 65fd5a0ab4f..cb2aac54a34 100644
--- a/src/backend/commands/copyfromparse.c
+++ b/src/backend/commands/copyfromparse.c
@@ -958,7 +958,7 @@ CopyFromTextLikeOneRow(CopyFromState cstate, ExprContext *econtext,
 	FmgrInfo   *in_functions = cstate->in_functions;
 	Oid		   *typioparams = cstate->typioparams;
 	ExprState **defexprs = cstate->defexprs;
-	char	  **field_strings;
+	char	  **field_strings = NULL;
 	ListCell   *cur;
 	int			fldct;
 	int			fieldno;
diff --git a/src/backend/partitioning/partbounds.c b/src/backend/partitioning/partbounds.c
index f867d1b75a5..3e608d6f217 100644
--- a/src/backend/partitioning/partbounds.c
+++ b/src/backend/partitioning/partbounds.c
@@ -5375,7 +5375,7 @@ check_partition_bounds_for_split_range(Relation parent,
 	if (first || last)
 	{
 		PartitionBoundSpec *split_spec = get_partition_bound_spec(splitPartOid);
-		PartitionRangeDatum *datum;
+		PartitionRangeDatum *datum = NULL;
 
 		if (first)
 		{
-- 
2.34.1



view thread (3+ messages)  latest in thread

reply

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Reply to all the recipients using the --to and --cc options:
  reply via email

  To: [email protected]
  Cc: [email protected]
  Subject: Re: Silence -Wmaybe-uninitialized warnings
  In-Reply-To: <CA+UBfa=H9RQdZ8Tof+SF7gMC-FTrsJ_w=Vnxs4OiBAaB_go+tQ@mail.gmail.com>

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

This inbox is served by agora; see mirroring instructions
for how to clone and mirror all data and code used for this inbox