GP-4824 - PDB MSDIA - deal with NoType types

This commit is contained in:
ghizard 2024-08-07 18:28:59 +00:00
parent 351374286b
commit 6b8cc1a5b5

View file

@ -17,6 +17,8 @@ package ghidra.app.util.bin.format.pdb;
import java.util.*;
import org.apache.commons.lang3.StringUtils;
import ghidra.app.services.DataTypeManagerService;
import ghidra.program.database.data.DataTypeUtilities;
import ghidra.program.model.data.*;
@ -190,11 +192,14 @@ class PdbDataTypeParser {
// [16]
if (dataTypeName.startsWith("*") || dataTypeName.startsWith("[")) {
// prepend undefined since intent is some datatype
Msg.warn(this, "dataTypeName \"" + dataTypeName +
Msg.warn(this, "dataTypeName \"" + dataTypeName +
"\" references a pointer or array without a declared datatype; assuming undefined");
dataTypeName = "undefined" + dataTypeName;
}
// Deal with other unrecognized types
dataTypeName = StringUtils.replace(dataTypeName, "<NoType>", "undefined");
// Example type representations:
// char *[2][3] pointer(array(array(char,3),2))
// char *[2][3] * pointer(array(array(pointer(char),3),2))