diff --git a/Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIWindowsClassRecoverer.java b/Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIWindowsClassRecoverer.java index b9a4e1ae2a1..693d42cb1c7 100644 --- a/Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIWindowsClassRecoverer.java +++ b/Ghidra/Features/Decompiler/ghidra_scripts/classrecovery/RTTIWindowsClassRecoverer.java @@ -2543,6 +2543,11 @@ private Map getBaseClassOffsetMap(RecoveredClass recove baseClassDescriptorAddress.toString()); continue; } + + // Continue if the class has mult inh but base class is not on the parent list + if (!recoveredClass.getParentList().contains(baseClass)) { + continue; + } int mdisp = api.getInt(baseClassDescriptorAddress.add(8)); int pdisp = api.getInt(baseClassDescriptorAddress.add(12));