소스 검색

Fixed sized array OOB check with undef index

Brian Fiete 9 달 전
부모
커밋
c73968a515
1개의 변경된 파일1개의 추가작업 그리고 1개의 파일을 삭제
  1. 1 1
      IDEHelper/Compiler/BfExprEvaluator.cpp

+ 1 - 1
IDEHelper/Compiler/BfExprEvaluator.cpp

@@ -22135,7 +22135,7 @@ void BfExprEvaluator::HandleIndexerExpression(BfIndexerExpression* indexerExpr,
 		if (indexArgument.mValue.IsConst())
 		if (indexArgument.mValue.IsConst())
 		{
 		{
 			auto indexConst = mModule->mBfIRBuilder->GetConstant(indexArgument.mValue);
 			auto indexConst = mModule->mBfIRBuilder->GetConstant(indexArgument.mValue);
-			if (indexConst->mUInt64 >= (uint64)sizedArrayType->mElementCount)
+			if ((BfIRBuilder::IsIntable(indexConst->mTypeCode)) && (indexConst->mUInt64 >= (uint64)sizedArrayType->mElementCount))
 			{
 			{
 				if ((!mModule->IsInSpecializedSection()) && (checkedKind != BfCheckedKind_Unchecked))
 				if ((!mModule->IsInSpecializedSection()) && (checkedKind != BfCheckedKind_Unchecked))
 				{
 				{