mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2025-10-04 18:29:37 +02:00
GP-4357: Fixing FileBytes offset error
This commit is contained in:
parent
9951e54209
commit
122f1068e9
2 changed files with 3 additions and 4 deletions
|
@ -81,8 +81,7 @@ class MemoryBlockSourceInfoDB implements MemoryBlockSourceInfo {
|
|||
@Override
|
||||
public long getFileBytesOffset(Address address) {
|
||||
if (subBlock instanceof FileBytesSubMemoryBlock && contains(address)) {
|
||||
long blockOffset = address.subtract(getMinAddress());
|
||||
long subBlockOffset = blockOffset - subBlock.subBlockOffset;
|
||||
long subBlockOffset = address.subtract(getMinAddress());
|
||||
return ((FileBytesSubMemoryBlock) subBlock).getFileBytesOffset() + subBlockOffset;
|
||||
}
|
||||
return -1;
|
||||
|
|
|
@ -56,7 +56,7 @@ public class MemBlockDBTest extends AbstractGenericTest {
|
|||
txID = handle.startTransaction();
|
||||
|
||||
addressFactory = language.getAddressFactory();
|
||||
AddressMapDB addrMap = (AddressMapDB) program.getAddressMap();
|
||||
AddressMapDB addrMap = program.getAddressMap();
|
||||
Lock lock = new Lock("Test");
|
||||
int openMode = DBConstants.CREATE;
|
||||
mem = new MemoryMapDB(handle, addrMap, openMode, true, lock);
|
||||
|
@ -396,7 +396,7 @@ public class MemBlockDBTest extends AbstractGenericTest {
|
|||
|
||||
sourceInfo = sourceInfos.get(1);
|
||||
assertEquals(fileBytes, sourceInfo.getFileBytes().get());
|
||||
assertEquals(70, sourceInfo.getFileBytesOffset());
|
||||
assertEquals(70, sourceInfo.getFileBytesOffset(sourceInfo.getMinAddress()));
|
||||
assertEquals(10, sourceInfo.getLength());
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue