Thread: pgsql: Fix rare sharedtuplestore.c corruption.
Fix rare sharedtuplestore.c corruption. If the final chunk of an oversized tuple being written out to disk was exactly 32760 bytes, it would be corrupted due to a fencepost bug. Bug #17619. Back-patch to 11 where the code arrived. While testing that (see test module in archives), I (tmunro) noticed that the per-participant page counter was not initialized to zero as it should have been; that wasn't a live bug when it was written since DSM memory was originally always zeroed, but since 14 min_dynamic_shared_memory might be configured and it supplies non-zeroed memory, so that is also fixed here. Author: Dmitry Astapov <dastapov@gmail.com> Discussion: https://postgr.es/m/17619-0de62ceda812b8b5%40postgresql.org Branch ------ REL_13_STABLE Details ------- https://git.postgresql.org/pg/commitdiff/1a5afe007779b677c4f2e411f8d9af23f7a2d085 Modified Files -------------- src/backend/utils/sort/sharedtuplestore.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-)