diff --git a/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/util/AddressBasedIndexMapper.java b/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/util/AddressBasedIndexMapper.java index dfd340985e..a79bb97c1b 100644 --- a/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/util/AddressBasedIndexMapper.java +++ b/Ghidra/Features/Base/src/main/java/ghidra/app/util/viewer/util/AddressBasedIndexMapper.java @@ -37,8 +37,9 @@ public class AddressBasedIndexMapper implements IndexMapper { public BigInteger map(BigInteger value) { Address address = from.getAddress(value); if (address == null) { - return null; + return BigInteger.ZERO; } - return to.getIndex(address); + BigInteger mapped = to.getIndex(address); + return mapped != null ? mapped : BigInteger.ZERO; } } diff --git a/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/listener/IndexMapper.java b/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/listener/IndexMapper.java index 70a556677f..c2aa1b6abd 100644 --- a/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/listener/IndexMapper.java +++ b/Ghidra/Framework/Docking/src/main/java/docking/widgets/fieldpanel/listener/IndexMapper.java @@ -33,5 +33,11 @@ public interface IndexMapper { } }; + /** + * Maps an index from one address mapping to another. This method will return + * {@link BigInteger#ZERO} if there no mapping. + * @param value the index value to map from an old index map to a new index map + * @return the mapped index + */ public BigInteger map(BigInteger value); }