Fix last unitialized memory warning

From: "Tristan Partin" <tristan(at)neon(dot)tech>
To: <pgsql-hackers(at)postgresql(dot)org>
Subject: Fix last unitialized memory warning
Date: 2023-06-07 14:31:10
Message-ID: CT6HJ3U8068R.3A8SJMV02D9BC@gonk
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-hackers

This patch is really not necessary from a functional point of view. It
is only necessary if we want to silence a compiler warning.

Tested on `gcc (GCC) 13.1.1 20230511 (Red Hat 13.1.1-2)`.

After silencing this warning, all I am left with (given my build
configuration) is:

[1667/2280] Compiling C object src/pl/plpgsql/src/
In file included from ../src/include/access/htup_details.h:22,
from ../src/pl/plpgsql/src/pl_exec.c:21:
In function ‘assign_simple_var’,
inlined from ‘exec_set_found’ at ../src/pl/plpgsql/src/pl_exec.c:8349:2:
../src/include/varatt.h:230:36: warning: array subscript 0 is outside array bounds of ‘char[0]’ [-Warray-bounds=]
230 | (((varattrib_1b_e *) (PTR))->va_tag)
| ^
../src/include/varatt.h:94:12: note: in definition of macro ‘VARTAG_IS_EXPANDED’
94 | (((tag) & ~1) == VARTAG_EXPANDED_RO)
| ^~~
../src/include/varatt.h:284:57: note: in expansion of macro ‘VARTAG_1B_E’
| ^~~~~~~~~~~
../src/include/varatt.h:301:57: note: in expansion of macro ‘VARTAG_EXTERNAL’
| ^~~~~~~~~~~~~~~
../src/pl/plpgsql/src/pl_exec.c:8537:17: note: in expansion of macro ‘VARATT_IS_EXTERNAL_NON_EXPANDED’
8537 | VARATT_IS_EXTERNAL_NON_EXPANDED(DatumGetPointer(newvalue)))
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

From my perspective, this warning definitely seems like a false
positive, but I don't know the code well-enough to say that for certain.

Tristan Partin
Neon (

Attachment Content-Type Size
v1-0001-Fix-last-remaining-uninitialized-memory-warnings.patch text/x-patch 882 bytes


Browse pgsql-hackers by date

  From Date Subject
Next Message Peter Eisentraut 2023-06-07 15:03:26 Re: Order changes in PG16 since ICU introduction
Previous Message Mehmet Emin KARAKAŞ 2023-06-07 14:25:28 [DOCS] alter_foreign_table.sgml typo