summaryrefslogtreecommitdiff
path: root/plugins/rtti/itanium.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/rtti/itanium.cpp')
-rw-r--r--plugins/rtti/itanium.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/plugins/rtti/itanium.cpp b/plugins/rtti/itanium.cpp
index 018f8c6d..c2f1089b 100644
--- a/plugins/rtti/itanium.cpp
+++ b/plugins/rtti/itanium.cpp
@@ -561,6 +561,9 @@ std::optional<VirtualFunctionTableInfo> ItaniumRTTIProcessor::ProcessVFT(uint64_
std::vector<VirtualFunctionInfo> virtualFunctions = {};
while (true)
{
+ uint64_t readOffset = reader.GetOffset();
+ if (!m_view->IsValidOffset(readOffset))
+ break;
uint64_t vFuncAddr = reader.ReadPointer();
auto funcs = m_view->GetAnalysisFunctionsForAddress(vFuncAddr);
if (funcs.empty())