| From: | Ranier Vilela <ranier(dot)vf(at)gmail(dot)com> |
|---|---|
| To: | Pg Hackers <pgsql-hackers(at)postgresql(dot)org> |
| Subject: | Silence using uninitialized value |
| Date: | 2025-04-15 11:53:43 |
| Message-ID: | CAEudQApZnTYftuM-opLARSFOQ2uivxcu894xH+KXj2t4H-eouw@mail.gmail.com |
| Views: | Whole Thread | Raw Message | Download mbox | Resend email |
| Thread: | |
| Lists: | 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:
(src/backend/access/common/heaptuple.c )
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 | Content-Type | Size |
|---|---|---|
| fix_read_unitialized_variable_tablecmds.patch | application/octet-stream | 1.1 KB |
| fix-uninitialized-read-variable-tablespace.patch | application/octet-stream | 659 bytes |
| From | Date | Subject | |
|---|---|---|---|
| Next Message | Srinath Reddy | 2025-04-15 11:56:27 | Re: [Proposal] Add \dAt [AMPTRN [TBLPTRN]] to list tables by Table Access Method in psql |
| Previous Message | Ranier Vilela | 2025-04-15 11:27:18 | Re: Fix a resource leak (src/backend/utils/adt/rowtypes.c) |