summaryrefslogtreecommitdiff
path: root/plugins/msvc_rtti/rtti.h
diff options
context:
space:
mode:
authorMason Reed <mason@vector35.com>2025-01-11 18:36:48 -0500
committerMason Reed <mason@vector35.com>2025-01-11 18:36:48 -0500
commite95dc2c36a40814703109eafbf7b0112da084504 (patch)
treebe814dbb5a3b6401298c7a3161ab49d75ba000e1 /plugins/msvc_rtti/rtti.h
parent49bafa9cd9c0301235e806e0f868cf16cdaac405 (diff)
MSVC RTTI: Fix crash due to function creation on invalid virtual function entry
Also fix type clobbering on anonymous class names
Diffstat (limited to 'plugins/msvc_rtti/rtti.h')
-rw-r--r--plugins/msvc_rtti/rtti.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/plugins/msvc_rtti/rtti.h b/plugins/msvc_rtti/rtti.h
index bcfb0e28..062c7b78 100644
--- a/plugins/msvc_rtti/rtti.h
+++ b/plugins/msvc_rtti/rtti.h
@@ -95,6 +95,7 @@ namespace BinaryNinja {
Ref<BinaryView> m_view;
Ref<Logger> m_logger;
bool allowMangledClassNames;
+ bool allowAnonymousClassNames;
bool checkWritableRData;
bool virtualFunctionTableSweep;
@@ -109,7 +110,7 @@ namespace BinaryNinja {
std::optional<VirtualFunctionTableInfo> ProcessVFT(uint64_t vftAddr, const ClassInfo &classInfo);
public:
- MicrosoftRTTIProcessor(const Ref<BinaryView> &view, bool useMangled = true, bool checkRData = true, bool vftSweep = true);
+ MicrosoftRTTIProcessor(const Ref<BinaryView> &view, bool useMangled = true, bool checkRData = true, bool vftSweep = true, bool allowAnonymous = true);
Ref<Metadata> SerializedMetadata();