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); ASSERT(size() <= spaceAvailable);
nodeBytesFree = spaceAvailable - size(); nodeBytesFree = spaceAvailable - size();
// Mark unused available space as defined // Zero unused available space
VALGRIND_MAKE_MEM_DEFINED((uint8_t*)this + size(), nodeBytesFree); memset((uint8_t*)this + size(), 0, nodeBytesFree);
return size(); return size();
} }

View File

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

View File

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