From 987413a6911b084e36ed90ef5d92dbe04f837580 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Sat, 22 Jan 2022 06:01:31 -0500 Subject: [PATCH] Fixed 'unable to find member' null ptr crash --- IDEHelper/Compiler/BfExprEvaluator.cpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/BfExprEvaluator.cpp b/IDEHelper/Compiler/BfExprEvaluator.cpp index 791544d0..944fa9a2 100644 --- a/IDEHelper/Compiler/BfExprEvaluator.cpp +++ b/IDEHelper/Compiler/BfExprEvaluator.cpp @@ -10204,12 +10204,13 @@ void BfExprEvaluator::LookupQualifiedStaticField(BfAstNode* nameNode, BfIdentifi } } - mResult = LookupField(nameRight, mResult, fieldName); + auto leftResult = mResult; + mResult = LookupField(nameRight, leftResult, fieldName); if ((mResult) || (mPropDef != NULL)) return; mModule->CheckTypeRefFixit(nameLeft); - mModule->Fail(StrFormat("Unable to find member '%s' in '%s'", fieldName.c_str(), mModule->TypeToString(mResult.mType).c_str()), nameRight); + mModule->Fail(StrFormat("Unable to find member '%s' in '%s'", fieldName.c_str(), mModule->TypeToString(leftResult.mType).c_str()), nameRight); } void BfExprEvaluator::Visit(BfQualifiedNameNode* nameNode)