mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-06 03:50:02 +02:00
GP-2537: Fix off-by-one error in gdb default 64-bit memory region split
This commit is contained in:
parent
75a87036e6
commit
b1c9e0360b
1 changed files with 8 additions and 6 deletions
|
@ -81,12 +81,14 @@ public class GdbModelTargetProcessMemory
|
||||||
}
|
}
|
||||||
if (size == 8) {
|
if (size == 8) {
|
||||||
// TODO: This split shouldn't be necessary.
|
// TODO: This split shouldn't be necessary.
|
||||||
BigInteger split = BigInteger.valueOf(Long.MAX_VALUE);
|
BigInteger lowEnd = BigInteger.valueOf(Long.MAX_VALUE);
|
||||||
GdbMemoryMapping lowMapping = new GdbMemoryMapping(start, split,
|
BigInteger highStart = lowEnd.add(BigInteger.ONE);
|
||||||
split.subtract(start), BigInteger.ZERO, "rwx", "defaultLow");
|
|
||||||
GdbMemoryMapping highMapping = new GdbMemoryMapping(split, end,
|
GdbMemoryMapping lowMapping = new GdbMemoryMapping(start, lowEnd,
|
||||||
end.subtract(split), BigInteger.ZERO, "rwx", "defaultHigh");
|
lowEnd.subtract(start), BigInteger.ZERO, "rwx", "defaultLow");
|
||||||
return Map.of(start, lowMapping, split, highMapping);
|
GdbMemoryMapping highMapping = new GdbMemoryMapping(highStart, end,
|
||||||
|
end.subtract(highStart), BigInteger.ZERO, "rwx", "defaultHigh");
|
||||||
|
return Map.of(start, lowMapping, highStart, highMapping);
|
||||||
}
|
}
|
||||||
throw new GdbCommandError("Unexpected address size: " + size);
|
throw new GdbCommandError("Unexpected address size: " + size);
|
||||||
});
|
});
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue