mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-09-28 17:11:11 -09:00
GP-0: Fixed potential NPE in ImageCor20Header.java (Closes #2246)
This commit is contained in:
@@ -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,10 +142,11 @@ 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 row =
|
||||||
(CliMethodDefRow) stream.getTable((entryPointToken & 0xff000000) >> 24)
|
(CliMethodDefRow) stream.getTable((entryPointToken & 0xff000000) >> 24)
|
||||||
.getRow(entryPointToken & 0x00ffffff);
|
.getRow(entryPointToken & 0x00ffffff);
|
||||||
@@ -156,6 +157,7 @@ public class ImageCor20Header implements StructConverter, PeMarkupable {
|
|||||||
entryPointVA = program.getImageBase().add(row.RVA);
|
entryPointVA = program.getImageBase().add(row.RVA);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
catch (Exception e) {
|
catch (Exception e) {
|
||||||
log.appendException(e);
|
log.appendException(e);
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user