Merge remote-tracking branch

'origin/GP-6286_ghidra007_rtti_add_empty_array_check' into patch
(Closes #8853)
This commit is contained in:
Ryan Kurtz
2026-01-06 13:08:44 -05:00
@@ -2381,6 +2381,9 @@ public class RTTIWindowsClassRecoverer extends RTTIClassRecoverer {
Map<Integer, Address> classOffsetToVftableMap = Map<Integer, Address> classOffsetToVftableMap =
recoveredClass.getClassOffsetToVftableMap(); recoveredClass.getClassOffsetToVftableMap();
Set<Integer> classVftableOffsets = classOffsetToVftableMap.keySet(); Set<Integer> classVftableOffsets = classOffsetToVftableMap.keySet();
if (!classVftableOffsets.isEmpty()) {
List<Integer> sortedOffsets = new ArrayList<Integer>(classVftableOffsets); List<Integer> sortedOffsets = new ArrayList<Integer>(classVftableOffsets);
Collections.sort(sortedOffsets); Collections.sort(sortedOffsets);
@@ -2395,6 +2398,7 @@ public class RTTIWindowsClassRecoverer extends RTTIClassRecoverer {
EditStructureUtils.addDataTypeToStructure(classStructureDataType, offset.intValue(), EditStructureUtils.addDataTypeToStructure(classStructureDataType, offset.intValue(),
classVftablePointer, CLASS_VTABLE_PTR_FIELD_EXT, monitor); classVftablePointer, CLASS_VTABLE_PTR_FIELD_EXT, monitor);
} }
}
// add the vbtable structure for single inheritance/virt parent case // add the vbtable structure for single inheritance/virt parent case
if (recoveredClass.hasSingleInheritance() && recoveredClass.inheritsVirtualAncestor()) { if (recoveredClass.hasSingleInheritance() && recoveredClass.inheritsVirtualAncestor()) {