@@ -1265,6 +1265,8 @@ void NodePrinter::printFunctionSigSpecializationParams(NodePointer Node,
1265
1265
break ;
1266
1266
case FunctionSigSpecializationParamKind::ConstantPropFunction:
1267
1267
case FunctionSigSpecializationParamKind::ConstantPropGlobal: {
1268
+ if (Idx + 2 > End)
1269
+ return ;
1268
1270
Printer << " [" ;
1269
1271
print (Node->getChild (Idx++), depth + 1 );
1270
1272
Printer << " : " ;
@@ -1280,13 +1282,17 @@ void NodePrinter::printFunctionSigSpecializationParams(NodePointer Node,
1280
1282
}
1281
1283
case FunctionSigSpecializationParamKind::ConstantPropInteger:
1282
1284
case FunctionSigSpecializationParamKind::ConstantPropFloat:
1285
+ if (Idx + 2 > End)
1286
+ return ;
1283
1287
Printer << " [" ;
1284
1288
print (Node->getChild (Idx++), depth + 1 );
1285
1289
Printer << " : " ;
1286
1290
print (Node->getChild (Idx++), depth + 1 );
1287
1291
Printer << " ]" ;
1288
1292
break ;
1289
1293
case FunctionSigSpecializationParamKind::ConstantPropString:
1294
+ if (Idx + 3 > End)
1295
+ return ;
1290
1296
Printer << " [" ;
1291
1297
print (Node->getChild (Idx++), depth + 1 );
1292
1298
Printer << " : " ;
@@ -1297,6 +1303,8 @@ void NodePrinter::printFunctionSigSpecializationParams(NodePointer Node,
1297
1303
Printer << " ]" ;
1298
1304
break ;
1299
1305
case FunctionSigSpecializationParamKind::ConstantPropKeyPath:
1306
+ if (Idx + 4 > End)
1307
+ return ;
1300
1308
Printer << " [" ;
1301
1309
print (Node->getChild (Idx++), depth + 1 );
1302
1310
Printer << " : " ;
@@ -1308,6 +1316,8 @@ void NodePrinter::printFunctionSigSpecializationParams(NodePointer Node,
1308
1316
Printer << " >]" ;
1309
1317
break ;
1310
1318
case FunctionSigSpecializationParamKind::ClosureProp:
1319
+ if (Idx + 2 > End)
1320
+ return ;
1311
1321
Printer << " [" ;
1312
1322
print (Node->getChild (Idx++), depth + 1 );
1313
1323
Printer << " : " ;
0 commit comments