@@ -1265,6 +1265,8 @@ void NodePrinter::printFunctionSigSpecializationParams(NodePointer Node,
12651265 break ;
12661266 case FunctionSigSpecializationParamKind::ConstantPropFunction:
12671267 case FunctionSigSpecializationParamKind::ConstantPropGlobal: {
1268+ if (Idx + 2 > End)
1269+ return ;
12681270 Printer << " [" ;
12691271 print (Node->getChild (Idx++), depth + 1 );
12701272 Printer << " : " ;
@@ -1280,13 +1282,17 @@ void NodePrinter::printFunctionSigSpecializationParams(NodePointer Node,
12801282 }
12811283 case FunctionSigSpecializationParamKind::ConstantPropInteger:
12821284 case FunctionSigSpecializationParamKind::ConstantPropFloat:
1285+ if (Idx + 2 > End)
1286+ return ;
12831287 Printer << " [" ;
12841288 print (Node->getChild (Idx++), depth + 1 );
12851289 Printer << " : " ;
12861290 print (Node->getChild (Idx++), depth + 1 );
12871291 Printer << " ]" ;
12881292 break ;
12891293 case FunctionSigSpecializationParamKind::ConstantPropString:
1294+ if (Idx + 3 > End)
1295+ return ;
12901296 Printer << " [" ;
12911297 print (Node->getChild (Idx++), depth + 1 );
12921298 Printer << " : " ;
@@ -1297,6 +1303,8 @@ void NodePrinter::printFunctionSigSpecializationParams(NodePointer Node,
12971303 Printer << " ]" ;
12981304 break ;
12991305 case FunctionSigSpecializationParamKind::ConstantPropKeyPath:
1306+ if (Idx + 4 > End)
1307+ return ;
13001308 Printer << " [" ;
13011309 print (Node->getChild (Idx++), depth + 1 );
13021310 Printer << " : " ;
@@ -1308,6 +1316,8 @@ void NodePrinter::printFunctionSigSpecializationParams(NodePointer Node,
13081316 Printer << " >]" ;
13091317 break ;
13101318 case FunctionSigSpecializationParamKind::ClosureProp:
1319+ if (Idx + 2 > End)
1320+ return ;
13111321 Printer << " [" ;
13121322 print (Node->getChild (Idx++), depth + 1 );
13131323 Printer << " : " ;
0 commit comments