mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-23 19:39:53 +08:00
Fix variable initialization when using buffering build with GiST
This can cause valgrind to complain, as the flag marking a buffer as a
temporary copy was not getting initialized.
While on it, fill in with zeros newly-created buffer pages. This does
not matter when loading a block from a temporary file, but it makes the
push of an index tuple into a new buffer page safer.
This has been introduced by 1d27dcf
, so backpatch all the way down to
9.4.
Author: Alexander Lakhin
Discussion: https://postgr.es/m/15899-0d24fb273b3dd90c@postgresql.org
Backpatch-through: 9.4
This commit is contained in:
parent
5a7d697a39
commit
fa19a08d71
@ -138,6 +138,7 @@ gistGetNodeBuffer(GISTBuildBuffers *gfbb, GISTSTATE *giststate,
|
||||
nodeBuffer->pageBlocknum = InvalidBlockNumber;
|
||||
nodeBuffer->pageBuffer = NULL;
|
||||
nodeBuffer->queuedForEmptying = false;
|
||||
nodeBuffer->isTemp = false;
|
||||
nodeBuffer->level = level;
|
||||
|
||||
/*
|
||||
@ -186,8 +187,8 @@ gistAllocateNewPageBuffer(GISTBuildBuffers *gfbb)
|
||||
{
|
||||
GISTNodeBufferPage *pageBuffer;
|
||||
|
||||
pageBuffer = (GISTNodeBufferPage *) MemoryContextAlloc(gfbb->context,
|
||||
BLCKSZ);
|
||||
pageBuffer = (GISTNodeBufferPage *) MemoryContextAllocZero(gfbb->context,
|
||||
BLCKSZ);
|
||||
pageBuffer->prev = InvalidBlockNumber;
|
||||
|
||||
/* Set page free space */
|
||||
|
Loading…
Reference in New Issue
Block a user