Ensure that slots are zeroed before use
authorDaniel Gustafsson <dgustafsson@postgresql.org>
Tue, 26 Oct 2021 08:40:08 +0000 (10:40 +0200)
committerDaniel Gustafsson <dgustafsson@postgresql.org>
Tue, 26 Oct 2021 08:40:08 +0000 (10:40 +0200)
commite63ce9e8d6ac8dced20592c4134004640f9f5644
tree19700aef7243f3642ac55677fa510c4c4ef5a222
parent8af09daf5629e9b85f37cc23983819b8ccd11b43
Ensure that slots are zeroed before use

The previous coding relied on the memory for the slots being zeroed
elsewhere, which while it was true in this case is not an contract
which is guaranteed to hold.  Explicitly clear the tts_isnull array
to ensure that the slots are filled from a known state.

Backpatch to v14 where the catalog multi-inserts were introduced.

Reviewed-by: Michael Paquier <michael@paquier.xyz>
Discussion: https://postgr.es/m/CAJ7c6TP0AowkUgNL6zcAK-s5HYsVHVBRWfu69FRubPpfwZGM9A@mail.gmail.com
Backpatch-through: 14
src/backend/catalog/heap.c
src/backend/catalog/pg_shdepend.c