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_
561
561
std::vector<VirtualFunctionInfo> virtualFunctions = {};
562
562
while (true )
563
563
{
564
+ uint64_t readOffset = reader.GetOffset ();
565
+ if (!m_view->IsValidOffset (readOffset))
566
+ break ;
564
567
uint64_t vFuncAddr = reader.ReadPointer ();
565
568
auto funcs = m_view->GetAnalysisFunctionsForAddress (vFuncAddr);
566
569
if (funcs.empty ())
Original file line number Diff line number Diff line change @@ -487,6 +487,9 @@ std::optional<VirtualFunctionTableInfo> MicrosoftRTTIProcessor::ProcessVFT(uint6
487
487
std::vector<std::pair<uint64_t , std::optional<Ref<Function>>>> virtualFunctions = {};
488
488
while (true )
489
489
{
490
+ uint64_t readOffset = reader.GetOffset ();
491
+ if (!m_view->IsValidOffset (readOffset))
492
+ break ;
490
493
uint64_t vFuncAddr = reader.ReadPointer ();
491
494
auto funcs = m_view->GetAnalysisFunctionsForAddress (vFuncAddr);
492
495
if (funcs.empty ())
You can’t perform that action at this time.
0 commit comments