From fc5c68bc2b7a07aa59a7ee103f712c3f7563bc67 Mon Sep 17 00:00:00 2001 From: ghidra1 Date: Thu, 6 Feb 2020 18:49:35 -0500 Subject: [PATCH] GT-3530 corrected improper use of bitSize --- .../main/java/ghidra/program/model/data/BitFieldDataType.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/BitFieldDataType.java b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/BitFieldDataType.java index 387ca34473..a09f19cb81 100644 --- a/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/BitFieldDataType.java +++ b/Ghidra/Framework/SoftwareModeling/src/main/java/ghidra/program/model/data/BitFieldDataType.java @@ -421,9 +421,9 @@ public class BitFieldDataType extends AbstractDataType { if (intDT.getFormatSettingsDefinition().getFormat( settings) == FormatSettingsDefinition.CHAR) { if (big.signum() < 0) { - big = big.add(BigInteger.valueOf(2).pow(bitSize)); + big = big.add(BigInteger.valueOf(2).pow(effectiveBitSize)); } - int bytesLen = BitFieldDataType.getMinimumStorageSize(bitSize); + int bytesLen = BitFieldDataType.getMinimumStorageSize(effectiveBitSize); byte[] bytes = DataConverter.getInstance(buf.isBigEndian()).getBytes(big, bytesLen); return StringDataInstance.getCharRepresentation(this, bytes, settings);