mirror of
https://github.com/NationalSecurityAgency/ghidra.git
synced 2026-06-01 06:25:26 +08:00
GP-6286 added check for empty array
This commit is contained in:
@@ -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()) {
|
||||||
|
|||||||
Reference in New Issue
Block a user