File tree Expand file tree Collapse file tree 2 files changed +6
-0
lines changed
Expand file tree Collapse file tree 2 files changed +6
-0
lines changed Original file line number Diff line number Diff line change @@ -561,6 +561,9 @@ std::optional<VirtualFunctionTableInfo> ItaniumRTTIProcessor::ProcessVFT(uint64_
561561 std::vector<VirtualFunctionInfo> virtualFunctions = {};
562562 while (true )
563563 {
564+ uint64_t readOffset = reader.GetOffset ();
565+ if (!m_view->IsValidOffset (readOffset))
566+ break ;
564567 uint64_t vFuncAddr = reader.ReadPointer ();
565568 auto funcs = m_view->GetAnalysisFunctionsForAddress (vFuncAddr);
566569 if (funcs.empty ())
Original file line number Diff line number Diff line change @@ -487,6 +487,9 @@ std::optional<VirtualFunctionTableInfo> MicrosoftRTTIProcessor::ProcessVFT(uint6
487487 std::vector<std::pair<uint64_t , std::optional<Ref<Function>>>> virtualFunctions = {};
488488 while (true )
489489 {
490+ uint64_t readOffset = reader.GetOffset ();
491+ if (!m_view->IsValidOffset (readOffset))
492+ break ;
490493 uint64_t vFuncAddr = reader.ReadPointer ();
491494 auto funcs = m_view->GetAnalysisFunctionsForAddress (vFuncAddr);
492495 if (funcs.empty ())
You can’t perform that action at this time.
0 commit comments