From b50df86d5719bed4ba14ee438198b577c9b60dae Mon Sep 17 00:00:00 2001 From: James <49045138+ghidracadabra@users.noreply.github.com> Date: Mon, 15 Aug 2022 15:47:02 -0400 Subject: [PATCH] GP-2456 addressing code review comments GP-2456_datatypes_of_HighConstants --- .../main/java/ghidra/program/model/pcode/HighConstant.java | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/HighConstant.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/HighConstant.java index efb56bb954..75d43cc891 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/HighConstant.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/pcode/HighConstant.java @@ -18,6 +18,7 @@ package ghidra.program.model.pcode; import ghidra.program.model.address.Address; import ghidra.program.model.data.AbstractIntegerDataType; import ghidra.program.model.data.DataType; +import ghidra.program.model.listing.Data; import ghidra.program.model.listing.Program; import ghidra.program.model.scalar.Scalar; @@ -112,7 +113,9 @@ public class HighConstant extends HighVariable { PcodeOp op = ((VarnodeAST) represent).getLoneDescend(); Address addr = HighFunctionDBUtil.getSpacebaseReferenceAddress(program, op); if (addr != null) { - symbol = globalMap.newSymbol(symref, addr, DataType.DEFAULT, 1); + Data data = program.getListing().getDataAt(addr); + DataType dt = data == null ? DataType.DEFAULT : data.getDataType(); + symbol = globalMap.newSymbol(symref, addr, dt, data.getLength()); } } }