Merge remote-tracking branch 'origin/GP-0_dev747368_fix_ESR_npe_when_import_and_no_project'

This commit is contained in:
Ryan Kurtz
2024-02-09 12:18:09 -05:00
2 changed files with 4 additions and 5 deletions

View File

@@ -23,8 +23,7 @@ import ghidra.app.util.bin.ByteProvider;
import ghidra.app.util.bin.format.elf.ElfException;
import ghidra.app.util.bin.format.elf.ElfHeader;
import ghidra.app.util.importer.MessageLog;
import ghidra.framework.model.DomainObject;
import ghidra.framework.model.Project;
import ghidra.framework.model.*;
import ghidra.framework.options.Options;
import ghidra.program.model.lang.Endian;
import ghidra.program.model.listing.Program;
@@ -158,8 +157,8 @@ public class ElfLoader extends AbstractLibrarySupportLoader {
throws CancelledException, IOException {
super.postLoadProgramFixups(loadedPrograms, project, options, messageLog, monitor);
try (ExternalSymbolResolver esr =
new ExternalSymbolResolver(project.getProjectData(), monitor)) {
ProjectData projectData = project != null ? project.getProjectData() : null;
try (ExternalSymbolResolver esr = new ExternalSymbolResolver(projectData, monitor)) {
for (Loaded<Program> loadedProgram : loadedPrograms) {
esr.addProgramToFixup(
loadedProgram.getProjectFolderPath() + loadedProgram.getName(),

View File

@@ -160,7 +160,7 @@ public class ExternalSymbolResolver implements Closeable {
*/
protected Program getLibraryProgram(String libPath) throws CancelledException {
Program result = loadedPrograms.get(libPath);
if (result == null && !problemLibraries.containsKey(libPath)) {
if (result == null && projectData != null && !problemLibraries.containsKey(libPath)) {
result = openLibraryFile(projectData.getFile(libPath), libPath);
if (result != null) {