From 217c5cbd4dfcb8aa153498a396c15a57f1532eda Mon Sep 17 00:00:00 2001 From: anjiaqi Date: Mon, 14 Jul 2025 16:23:11 +0800 Subject: [PATCH] Fix security alert on 0702 include 7 Issue: https://gitee.com/openharmony/arkcompiler_ets_frontend/issues/ICM86L Signed-off-by: anjiaqi --- ets2panda/checker/ets/typeRelationContext.h | 1 + ets2panda/checker/types/ets/etsFunctionType.cpp | 1 + ets2panda/checker/types/typeRelation.cpp | 2 ++ ets2panda/declgen_ets2ts/declgenEts2Ts.cpp | 1 + 4 files changed, 5 insertions(+) diff --git a/ets2panda/checker/ets/typeRelationContext.h b/ets2panda/checker/ets/typeRelationContext.h index ae20ce5ad1c..7ba41f94c85 100644 --- a/ets2panda/checker/ets/typeRelationContext.h +++ b/ets2panda/checker/ets/typeRelationContext.h @@ -36,6 +36,7 @@ public: ES2PANDA_ASSERT(target != nullptr); ES2PANDA_ASSERT(node != nullptr); + ES2PANDA_ASSERT(source != nullptr); if (target->IsETSArrayType() && node->IsArrayExpression()) { assignable_ = ValidateArrayTypeInitializerByElement(relation, node->AsArrayExpression(), target->AsETSArrayType()); diff --git a/ets2panda/checker/types/ets/etsFunctionType.cpp b/ets2panda/checker/types/ets/etsFunctionType.cpp index 58c4ea3cead..aa13b83f0ae 100644 --- a/ets2panda/checker/types/ets/etsFunctionType.cpp +++ b/ets2panda/checker/types/ets/etsFunctionType.cpp @@ -80,6 +80,7 @@ static ETSObjectType *FunctionTypeToFunctionalInterfaceType(ETSChecker *checker, auto nPosParams = arity < sigParamsSize ? arity : sigParamsSize; auto *functionN = checker->GlobalBuiltinFunctionType(nPosParams, true); auto substitution = Substitution {}; + ES2PANDA_ASSERT(functionN != nullptr); for (size_t i = 0; i < nPosParams; i++) { substitution.emplace(functionN->TypeArguments()[i]->AsETSTypeParameter(), checker->MaybeBoxType(signature->Params()[i]->TsType())); diff --git a/ets2panda/checker/types/typeRelation.cpp b/ets2panda/checker/types/typeRelation.cpp index d6de7557220..57a356d8022 100644 --- a/ets2panda/checker/types/typeRelation.cpp +++ b/ets2panda/checker/types/typeRelation.cpp @@ -154,6 +154,8 @@ bool TypeRelation::IsAssignableTo(Type *source, Type *target) bool TypeRelation::IsComparableTo(Type *source, Type *target) { result_ = CacheLookup(source, target, checker_->ComparableResults(), RelationType::COMPARABLE); + ES2PANDA_ASSERT(source != nullptr); + ES2PANDA_ASSERT(target != nullptr); if (result_ == RelationResult::CACHE_MISS) { if (IsAssignableTo(source, target)) { return true; diff --git a/ets2panda/declgen_ets2ts/declgenEts2Ts.cpp b/ets2panda/declgen_ets2ts/declgenEts2Ts.cpp index b37db2b236f..0ce3a8f2e9e 100644 --- a/ets2panda/declgen_ets2ts/declgenEts2Ts.cpp +++ b/ets2panda/declgen_ets2ts/declgenEts2Ts.cpp @@ -1656,6 +1656,7 @@ bool TSDeclGen::GenInterfaceProp(const ir::MethodDefinition *methodDef) OutDts("?"); } OutDts(": "); + ES2PANDA_ASSERT(methodDef->Function() != nullptr); GenType(methodDef->Function()->Signature()->ReturnType()); OutDts(";"); OutEndlDts(); -- Gitee