GP-0: Fixed potential NPE in ImageCor20Header.java (Closes #2246)

This commit is contained in:
Ryan Kurtz
2026-06-23 07:25:17 -04:00
parent 3e9b429513
commit 082f7fe96b

View File

@@ -19,7 +19,7 @@ import java.io.IOException;
import ghidra.app.util.bin.BinaryReader; import ghidra.app.util.bin.BinaryReader;
import ghidra.app.util.bin.StructConverter; import ghidra.app.util.bin.StructConverter;
import ghidra.app.util.bin.format.pe.cli.CliMetadataDirectory; import ghidra.app.util.bin.format.pe.cli.*;
import ghidra.app.util.bin.format.pe.cli.streams.CliStreamMetadata; import ghidra.app.util.bin.format.pe.cli.streams.CliStreamMetadata;
import ghidra.app.util.bin.format.pe.cli.tables.CliTableMethodDef.CliMethodDefRow; import ghidra.app.util.bin.format.pe.cli.tables.CliTableMethodDef.CliMethodDefRow;
import ghidra.app.util.importer.MessageLog; import ghidra.app.util.importer.MessageLog;
@@ -142,18 +142,20 @@ public class ImageCor20Header implements StructConverter, PeMarkupable {
} }
else { else {
// Add a new symbol for the .NET entry point // Add a new symbol for the .NET entry point
CliStreamMetadata stream = (CliStreamMetadata) metadata.getMetadataRoot() CliMetadataRoot metadataRoot = metadata.getMetadataRoot();
.getStreamHeader(CliStreamMetadata.getName()) CliStreamHeader streamHeader =
.getStream(); metadataRoot.getStreamHeader(CliStreamMetadata.getName());
if (streamHeader != null) {
CliStreamMetadata stream = (CliStreamMetadata) streamHeader.getStream();
CliMethodDefRow row =
(CliMethodDefRow) stream.getTable((entryPointToken & 0xff000000) >> 24)
.getRow(entryPointToken & 0x00ffffff);
CliMethodDefRow row = program.getSymbolTable()
(CliMethodDefRow) stream.getTable((entryPointToken & 0xff000000) >> 24) .addExternalEntryPoint(program.getImageBase().add(row.RVA));
.getRow(entryPointToken & 0x00ffffff);
program.getSymbolTable() entryPointVA = program.getImageBase().add(row.RVA);
.addExternalEntryPoint(program.getImageBase().add(row.RVA)); }
entryPointVA = program.getImageBase().add(row.RVA);
} }
} }
catch (Exception e) { catch (Exception e) {