Clear unused memory regions for structures written to disk.

This commit is contained in:
Steve Atherton 2022-04-07 21:38:17 -07:00
parent 3ef18bc173
commit 702bd59ded
3 changed files with 8 additions and 8 deletions

View File

@ -1715,8 +1715,8 @@ public:
ASSERT(size() <= spaceAvailable);
nodeBytesFree = spaceAvailable - size();
// Mark unused available space as defined
VALGRIND_MAKE_MEM_DEFINED((uint8_t*)this + size(), nodeBytesFree);
// Zero unused available space
memset((uint8_t*)this + size(), 0, nodeBytesFree);
return size();
}

View File

@ -226,8 +226,8 @@ public:
if (bufferSize > 0) {
buffer = (uint8_t*)arena.allocate4kAlignedBuffer(bufferSize);
// Mark any unused page portion defined
VALGRIND_MAKE_MEM_DEFINED(buffer + logicalSize, bufferSize - logicalSize);
// Zero unused region
memset(buffer + logicalSize, 0, bufferSize - logicalSize);
} else {
buffer = nullptr;
}

View File

@ -731,8 +731,8 @@ public:
ASSERT(mode == WRITE);
debug_printf("FIFOQueue::Cursor(%s) writePage\n", toString().c_str());
// Mark the unused part of the item space as defined
VALGRIND_MAKE_MEM_DEFINED(header()->begin() + offset, header()->itemSpace - header()->endOffset);
// Zero unused space within itemspace
memset(header()->begin() + header()->endOffset, 0, header()->itemSpace - header()->endOffset);
queue->pager->updatePage(
PagerEventReasons::MetaData, nonBtreeLevel, VectorRef<PhysicalPageID>(&pageID, 1), page);
@ -803,8 +803,8 @@ public:
// Randomly reduce available item space to cause more queue pages to be needed
int reducedSpace = deterministicRandom()->randomInt(50, p->itemSpace);
// Mark the eliminated item space as initialized
VALGRIND_MAKE_MEM_DEFINED(header()->begin() + reducedSpace, p->itemSpace - reducedSpace);
// Zero the eliminated space
memset(header()->begin() + reducedSpace, 0, p->itemSpace - reducedSpace);
p->itemSpace = reducedSpace;
}