From 70680fdf3954428130714715b4b38bf1fe98bebb Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Wed, 12 May 2021 07:15:36 -0400 Subject: [PATCH] Fixed infinite loop in DoMethodDeclaration --- IDEHelper/Compiler/BfModule.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 8a9e3447..d0e46412 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -22767,7 +22767,10 @@ void BfModule::DoMethodDeclaration(BfMethodDeclaration* methodDeclaration, bool while (checkMethod != NULL) { if (checkMethod->mMethodDeclaration == NULL) + { + checkMethod = checkMethod->mNextWithSameName; continue; + } if (baseType->mMethodInstanceGroups.size() == 0) { @@ -22776,9 +22779,15 @@ void BfModule::DoMethodDeclaration(BfMethodDeclaration* methodDeclaration, bool } if (checkMethod == methodDef) + { + checkMethod = checkMethod->mNextWithSameName; continue; + } if (checkMethod->mName != methodDef->mName) + { + checkMethod = checkMethod->mNextWithSameName; continue; + } auto checkMethodInstance = GetRawMethodInstanceAtIdx(baseType, checkMethod->mIdx); if (checkMethodInstance != NULL)