aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoraneporada <aneporada@ydb.tech>2023-10-25 19:39:24 +0300
committeraneporada <aneporada@ydb.tech>2023-10-25 20:05:09 +0300
commitfc12fd480a20f4625c427965168d4df749eb645b (patch)
tree027dbdf079f8a4010ee84764474f83071539f537
parent5080728815b7addb1d9ae88da1230e47d60239ba (diff)
downloadydb-fc12fd480a20f4625c427965168d4df749eb645b.tar.gz
Avoid crash in ListFromRange type annotation
-rw-r--r--ydb/library/yql/core/type_ann/type_ann_list.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/ydb/library/yql/core/type_ann/type_ann_list.cpp b/ydb/library/yql/core/type_ann/type_ann_list.cpp
index e489732ccb..25631f77aa 100644
--- a/ydb/library/yql/core/type_ann/type_ann_list.cpp
+++ b/ydb/library/yql/core/type_ann/type_ann_list.cpp
@@ -2046,6 +2046,11 @@ namespace {
TVector<ui32> nonNullNodes;
for (ui32 i = 0; i < input->ChildrenSize(); ++i) {
+ if (!input->Child(i)->GetTypeAnn()) {
+ YQL_ENSURE(input->Child(i)->IsLambda());
+ ctx.Expr.AddError(TIssue(ctx.Expr.GetPosition(input->Child(i)->Pos()), TStringBuilder() << "Lambda is not expected as argument of " << input->Content()));
+ return IGraphTransformer::TStatus::Error;
+ }
if (input->Child(i)->GetTypeAnn()->GetKind() != ETypeAnnotationKind::Null) {
nonNullNodes.push_back(i);
}