From 65e5cb5d5dfa17f6373a5df7d24ce93a1f1fc1f5 Mon Sep 17 00:00:00 2001 From: Matthias van de Meent Date: Wed, 31 Mar 2021 10:16:28 +0200 Subject: [PATCH v5 2/2] Clobber free page space in PageRepairFragmentation. We cannot mark this undefined for valgrind because PageAddItemExtended has checks that it is inserting into defined memory. --- src/backend/storage/page/bufpage.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/backend/storage/page/bufpage.c b/src/backend/storage/page/bufpage.c index a591055699..e3fc1ca9cd 100644 --- a/src/backend/storage/page/bufpage.c +++ b/src/backend/storage/page/bufpage.c @@ -788,6 +788,12 @@ PageRepairFragmentation(Page page) nunused = nunused - (nline - lastUsed); } +#ifdef CLOBBER_FREED_MEMORY + memset(((char *) page) + ((PageHeader) page)->pd_lower, + 0x7f, + ((PageHeader) page)->pd_upper - ((PageHeader) page)->pd_upper); +#endif + /* Set hint bit for PageAddItemExtended */ if (nunused > 0) PageSetHasFreeLinePointers(page); -- 2.20.1