diff options
| author | Mason Reed <mason@vector35.com> | 2025-05-16 14:12:10 +0200 |
|---|---|---|
| committer | Mason Reed <mason@vector35.com> | 2025-05-16 14:12:10 +0200 |
| commit | c0ef307ab4241257ec86ece0351bf1604cb8f232 (patch) | |
| tree | 5c805dfb711882f97df244e2cd66a747c031b578 | |
| parent | ec3d735857e389a15ed081b081f76153f67c7579 (diff) | |
Fix crash with invalid vtable info when processing MSVC vftables
Found when a vtable is constrained to a size less than the base vft, indicating a bad base vft associating most likely.
Fixes https://github.com/Vector35/binaryninja-api/issues/6840
| -rw-r--r-- | plugins/rtti/microsoft.cpp | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/plugins/rtti/microsoft.cpp b/plugins/rtti/microsoft.cpp index 9e26194a..b1b549a8 100644 --- a/plugins/rtti/microsoft.cpp +++ b/plugins/rtti/microsoft.cpp @@ -790,8 +790,8 @@ void MicrosoftRTTIProcessor::ProcessVFT() } vftFinished.insert(vftAddr); - auto vftInfo = ProcessVFT(vftAddr, classInfo, baseClassInfo); - classInfo.vft = vftInfo.value(); + if (auto vftInfo = ProcessVFT(vftAddr, classInfo, baseClassInfo)) + classInfo.vft = vftInfo.value(); }; size_t processedNum = 0; |
