Silence using uninitialized value - Mailing list pgsql-hackers

From Ranier Vilela
Subject Silence using uninitialized value
Date
Msg-id CAEudQApZnTYftuM-opLARSFOQ2uivxcu894xH+KXj2t4H-eouw@mail.gmail.com
Whole thread Raw
List pgsql-hackers
Hi.

Per Coverity.

Coverity has new report about tablecmds.c and tablespace.c

tablecmds.c:
CID 1608920: (#1 of 1): Uninitialized scalar variable (UNINIT)
6. uninit_use_in_call: Using uninitialized value *repl_val when calling heap_modify_tuple.


CID 1608899: (#1 of 1): Uninitialized scalar variable (UNINIT)
16. uninit_use_in_call: Using uninitialized value *repl_val when calling heap_modify_tuple.


tablespace.c:
CID 1608898: (#1 of 1): Uninitialized scalar variable (UNINIT)
6. uninit_use_in_call: Using uninitialized value *repl_val when calling heap_modify_tuple.


I don't think that is a bug.
But really the uninitialized value is read here:

3. read_value: Reading value replValues[attoff].
1242                        values[attoff] = replValues[attoff];
1243                        isnull[attoff] = replIsnull[attoff];
1244                }

There a common pattern in the source code:

value = (Datum) 0;
null = true;

So I believe it is worth changing to the standard used.

patch attached.

best regards,
Ranier Vilela

Attachment

pgsql-hackers by date:

Previous
From: Ranier Vilela
Date:
Subject: Re: Fix a resource leak (src/backend/utils/adt/rowtypes.c)
Next
From: Srinath Reddy
Date:
Subject: Re: [Proposal] Add \dAt [AMPTRN [TBLPTRN]] to list tables by Table Access Method in psql