Corrected NPE in decompiler.

Reference overrides must ignore external references.
This commit is contained in:
ghidra1 2019-09-06 18:34:06 -04:00
parent e6cbefc706
commit 2d144fb457
2 changed files with 4 additions and 2 deletions

View file

@ -343,8 +343,10 @@ public class DecompilerUtils {
if (token instanceof ClangFuncNameToken) { if (token instanceof ClangFuncNameToken) {
// special case: we know that name tokens do not have addresses // special case: we know that name tokens do not have addresses
Function function = getFunction(program, (ClangFuncNameToken) token); Function function = getFunction(program, (ClangFuncNameToken) token);
if (function != null) {
return function.getEntryPoint(); return function.getEntryPoint();
} }
}
Address address = token.getMinAddress(); Address address = token.getMinAddress();
if (address != null) { if (address != null) {

View file

@ -47,7 +47,7 @@ public class InstructionPcodeOverride implements PcodeOverride {
primaryOverridingReferences = new ArrayList<>(); primaryOverridingReferences = new ArrayList<>();
for (Reference ref : instr.getReferencesFrom()) { for (Reference ref : instr.getReferencesFrom()) {
if (!ref.isPrimary()) { if (!ref.isPrimary() || !ref.getToAddress().isMemoryAddress()) {
continue; continue;
} }
RefType type = ref.getReferenceType(); RefType type = ref.getReferenceType();