diff options
author | aneporada <aneporada@ydb.tech> | 2023-10-25 19:39:24 +0300 |
---|---|---|
committer | aneporada <aneporada@ydb.tech> | 2023-10-25 20:05:09 +0300 |
commit | fc12fd480a20f4625c427965168d4df749eb645b (patch) | |
tree | 027dbdf079f8a4010ee84764474f83071539f537 | |
parent | 5080728815b7addb1d9ae88da1230e47d60239ba (diff) | |
download | ydb-fc12fd480a20f4625c427965168d4df749eb645b.tar.gz |
Avoid crash in ListFromRange type annotation
-rw-r--r-- | ydb/library/yql/core/type_ann/type_ann_list.cpp | 5 |
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); } |