Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(418)

Unified Diff: util/win/process_info_test.cc

Issue 1370063005: MEM_RESERVE regions are not accessible by ReadProcessMemory() (Closed) Base URL: https://chromium.googlesource.com/crashpad/crashpad@master
Patch Set: Created 5 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« util/win/process_info.cc ('K') | « util/win/process_info.cc ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: util/win/process_info_test.cc
diff --git a/util/win/process_info_test.cc b/util/win/process_info_test.cc
index d3d674dd875ad10131145d151731abde57776915..be205cdcd49a828bd94db5a5621e3f9677359031 100644
--- a/util/win/process_info_test.cc
+++ b/util/win/process_info_test.cc
@@ -279,6 +279,29 @@ TEST(ProcessInfo, AccessibleRangesOneMovedStart) {
EXPECT_EQ(5, result[0].size());
}
+TEST(ProcessInfo, ReserveIsInaccessible) {
+ std::vector<ProcessInfo::MemoryInfo> memory_info;
+ MEMORY_BASIC_INFORMATION mbi = {0};
+
+ mbi.BaseAddress = 0;
+ mbi.RegionSize = 10;
+ mbi.State = MEM_RESERVE;
+ memory_info.push_back(ProcessInfo::MemoryInfo(mbi));
+
+ mbi.BaseAddress = reinterpret_cast<void*>(10);
+ mbi.RegionSize = 20;
+ mbi.State = MEM_COMMIT;
+ memory_info.push_back(ProcessInfo::MemoryInfo(mbi));
+
+ std::vector<CheckedRange<WinVMAddress, WinVMSize>> result =
+ GetReadableRangesOfMemoryMap(CheckedRange<WinVMAddress, WinVMSize>(5, 10),
+ memory_info);
+
+ ASSERT_EQ(result.size(), 1u);
+ EXPECT_EQ(10, result[0].base());
+ EXPECT_EQ(5, result[0].size());
+}
+
TEST(ProcessInfo, AccessibleRangesCoalesced) {
std::vector<ProcessInfo::MemoryInfo> memory_info;
MEMORY_BASIC_INFORMATION mbi = {0};
@@ -295,7 +318,7 @@ TEST(ProcessInfo, AccessibleRangesCoalesced) {
mbi.BaseAddress = reinterpret_cast<void*>(12);
mbi.RegionSize = 5;
- mbi.State = MEM_RESERVE;
+ mbi.State = MEM_COMMIT;
memory_info.push_back(ProcessInfo::MemoryInfo(mbi));
std::vector<CheckedRange<WinVMAddress, WinVMSize>> result =
« util/win/process_info.cc ('K') | « util/win/process_info.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698