diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionDB.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionDB.java index 67d28beb6f..9fcd19cca4 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionDB.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/database/function/FunctionDB.java @@ -283,8 +283,9 @@ public class FunctionDB extends DatabaseObject implements Function { manager.lock.acquire(); try { checkIsValid(); - return manager.getCodeManager().getComment(CodeUnit.REPEATABLE_COMMENT, - getEntryPoint()); + return manager.getCodeManager() + .getComment(CodeUnit.REPEATABLE_COMMENT, + getEntryPoint()); } finally { manager.lock.release(); @@ -301,8 +302,9 @@ public class FunctionDB extends DatabaseObject implements Function { manager.lock.acquire(); try { checkDeleted(); - manager.getCodeManager().setComment(getEntryPoint(), CodeUnit.REPEATABLE_COMMENT, - comment); + manager.getCodeManager() + .setComment(getEntryPoint(), CodeUnit.REPEATABLE_COMMENT, + comment); } finally { manager.lock.release(); @@ -885,8 +887,9 @@ public class FunctionDB extends DatabaseObject implements Function { } } } - program.getBookmarkManager().setBookmark(getEntryPoint(), BookmarkType.ERROR, - "Bad Variables Removed", "Removed " + badSymbols.size() + " bad variables"); + program.getBookmarkManager() + .setBookmark(getEntryPoint(), BookmarkType.ERROR, + "Bad Variables Removed", "Removed " + badSymbols.size() + " bad variables"); for (Symbol s : badSymbols) { s.delete(); } @@ -2703,8 +2706,10 @@ public class FunctionDB extends DatabaseObject implements Function { callFixupMap.remove(entryPoint); } else { - if (program.getCompilerSpec().getPcodeInjectLibrary().getPayload( - InjectPayload.CALLFIXUP_TYPE, name, null, null) == null) { + if (program.getCompilerSpec() + .getPcodeInjectLibrary() + .getPayload( + InjectPayload.CALLFIXUP_TYPE, name, null, null) == null) { Msg.warn(this, "Undefined CallFixup set at " + entryPoint + ": " + name); } callFixupMap.add(entryPoint, name); @@ -2719,6 +2724,7 @@ public class FunctionDB extends DatabaseObject implements Function { @Override public Set getCallingFunctions(TaskMonitor monitor) { + monitor = TaskMonitor.dummyIfNull(monitor); Set set = new HashSet<>(); ReferenceIterator iter = program.getReferenceManager().getReferencesTo(getEntryPoint()); while (iter.hasNext()) { @@ -2737,6 +2743,7 @@ public class FunctionDB extends DatabaseObject implements Function { @Override public Set getCalledFunctions(TaskMonitor monitor) { + monitor = TaskMonitor.dummyIfNull(monitor); Set set = new HashSet<>(); Set references = getReferencesFromBody(monitor); for (Reference reference : references) { diff --git a/Ghidra/Framework/Utility/src/main/java/ghidra/util/task/TaskMonitor.java b/Ghidra/Framework/Utility/src/main/java/ghidra/util/task/TaskMonitor.java index 3f7ce33899..4093447c90 100644 --- a/Ghidra/Framework/Utility/src/main/java/ghidra/util/task/TaskMonitor.java +++ b/Ghidra/Framework/Utility/src/main/java/ghidra/util/task/TaskMonitor.java @@ -32,6 +32,16 @@ public interface TaskMonitor { public static final TaskMonitor DUMMY = new StubTaskMonitor(); + /** + * Returns the given task monitor if it is not {@code null}. Otherwise, a {@link #DUMMY} + * monitor is returned. + * @param tm the monitor to check for {@code null} + * @return a non-null task monitor + */ + public static TaskMonitor dummyIfNull(TaskMonitor tm) { + return tm == null ? DUMMY : tm; + } + /** A value to indicate that this monitor has no progress value set */ public static final int NO_PROGRESS_VALUE = -1;