diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/PointerDataType.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/PointerDataType.java index 9e95e70c48..cec2950f24 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/PointerDataType.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/PointerDataType.java @@ -445,7 +445,7 @@ public class PointerDataType extends BuiltIn implements Pointer { if (pointerType == PointerType.IMAGE_BASE_RELATIVE) { if (addrOffset == 0) { // Done for consistency with old ImageBaseOffsetDataType. - // A 0 relative offset is considerd invalid (NaP) + // A 0 relative offset is considered invalid (NaP) return null; // NaP without error } if (mem == null) { @@ -457,6 +457,10 @@ public class PointerDataType extends BuiltIn implements Pointer { return imageBase.addWrap(addrOffset * targetSpace.getAddressableUnitSize()); } else if (pointerType == PointerType.RELATIVE) { + if (addrOffset == 0) { + // A 0 relative offset is considered invalid (NaP) + return null; // NaP without error + } // must ignore AddressSpaceSettingsDefinition Address base = buf.getAddress(); targetSpace = base.getAddressSpace();