Skip to content

Commit d4125c1

Browse files
committed
Change the test to be "returned region must contain addr"
This will reject a 0-length memory region response, e.g. an empty SBMemoryRegionInfo object.
1 parent aadf21d commit d4125c1

File tree

1 file changed

+3
-5
lines changed

1 file changed

+3
-5
lines changed

lldb/source/Target/Process.cpp

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6185,11 +6185,9 @@ Status Process::GetMemoryRegionInfo(lldb::addr_t load_addr,
61856185
if (const lldb::ABISP &abi = GetABI())
61866186
load_addr = abi->FixAnyAddress(load_addr);
61876187
Status error = DoGetMemoryRegionInfo(load_addr, range_info);
6188-
// Reject a region of {0,0} or {0,UINT64_MAX}, neither are
6189-
// meaningful responses.
6190-
if (error.Success() && range_info.GetRange().GetRangeBase() == 0 &&
6191-
(range_info.GetRange().GetByteSize() == 0 ||
6192-
range_info.GetRange().GetByteSize() == UINT64_MAX))
6188+
// Reject a region that does not contain the requested address.
6189+
if (error.Success() && (range_info.GetRange().GetRangeBase() < load_addr ||
6190+
range_info.GetRange().GetRangeEnd() <= load_addr))
61936191
error =
61946192
Status::FromErrorString("Invalid memory region");
61956193

0 commit comments

Comments
 (0)