mirror of
https://github.com/mozilla/gecko-dev.git
synced 2025-03-02 22:37:50 +00:00
Bug 1652081 - Verify that newly allocated shared memory is zeroed. r=mccr8
Differential Revision: https://phabricator.services.mozilla.com/D83144
This commit is contained in:
parent
910be54a2d
commit
ba9cf29223
@ -9,7 +9,9 @@
|
||||
#include "base/shared_memory.h"
|
||||
|
||||
#include "base/process_util.h"
|
||||
#include "mozilla/RefPtr.h"
|
||||
#include "mozilla/ipc/SharedMemory.h"
|
||||
#include "mozilla/ipc/SharedMemoryBasic.h"
|
||||
|
||||
#ifdef XP_WIN
|
||||
# include <windows.h>
|
||||
@ -261,4 +263,34 @@ TEST(IPCSharedMemory, ROCopyAndReprotect)
|
||||
memRO, 1, ipc::SharedMemory::RightsReadWrite));
|
||||
}
|
||||
|
||||
TEST(IPCSharedMemory, IsZero)
|
||||
{
|
||||
base::SharedMemory shm;
|
||||
|
||||
static constexpr size_t kSize = 65536;
|
||||
ASSERT_TRUE(shm.Create(kSize));
|
||||
ASSERT_TRUE(shm.Map(kSize));
|
||||
|
||||
auto* mem = reinterpret_cast<char*>(shm.memory());
|
||||
for (size_t i = 0; i < kSize; ++i) {
|
||||
ASSERT_EQ(mem[i], 0) << "offset " << i;
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef FUZZING
|
||||
TEST(IPCSharedMemory, BasicIsZero)
|
||||
{
|
||||
auto shm = MakeRefPtr<ipc::SharedMemoryBasic>();
|
||||
|
||||
static constexpr size_t kSize = 65536;
|
||||
ASSERT_TRUE(shm->Create(kSize));
|
||||
ASSERT_TRUE(shm->Map(kSize));
|
||||
|
||||
auto* mem = reinterpret_cast<char*>(shm->memory());
|
||||
for (size_t i = 0; i < kSize; ++i) {
|
||||
ASSERT_EQ(mem[i], 0) << "offset " << i;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
|
||||
} // namespace mozilla
|
||||
|
Loading…
x
Reference in New Issue
Block a user