@@ -12,7 +12,7 @@ import semmle.code.cpp.models.interfaces.DataFlow
12
12
* The `std::basic_string` template class instantiations.
13
13
*/
14
14
private class StdBasicString extends ClassTemplateInstantiation {
15
- StdBasicString ( ) { this .hasQualifiedName ( "std" , "basic_string" ) }
15
+ StdBasicString ( ) { this .hasQualifiedName ( [ "std" , "bsl" ] , "basic_string" ) }
16
16
}
17
17
18
18
/**
@@ -127,7 +127,7 @@ private class StdStringFrontBack extends TaintFunction {
127
127
*/
128
128
private class StdStringPlus extends TaintFunction {
129
129
StdStringPlus ( ) {
130
- this .hasQualifiedName ( "std" , "operator+" ) and
130
+ this .hasQualifiedName ( [ "std" , "bsl" ] , "operator+" ) and
131
131
this .getUnspecifiedType ( ) instanceof StdBasicString
132
132
}
133
133
@@ -252,13 +252,6 @@ private class StdStringSubstr extends TaintFunction {
252
252
}
253
253
}
254
254
255
- /**
256
- * The `std::basic_stringstream` template class instantiations.
257
- */
258
- private class StdBasicStringStream extends ClassTemplateInstantiation {
259
- StdBasicStringStream ( ) { this .hasQualifiedName ( "std" , "basic_stringstream" ) }
260
- }
261
-
262
255
/**
263
256
* The `std::string` functions `at` and `operator[]`.
264
257
*/
@@ -280,7 +273,7 @@ private class StdStringAt extends TaintFunction {
280
273
* The `std::basic_istream` template class instantiations.
281
274
*/
282
275
private class StdBasicIStream extends ClassTemplateInstantiation {
283
- StdBasicIStream ( ) { this .hasQualifiedName ( "std" , "basic_istream" ) }
276
+ StdBasicIStream ( ) { this .hasQualifiedName ( [ "std" , "bsl" ] , "basic_istream" ) }
284
277
}
285
278
286
279
/**
@@ -314,7 +307,7 @@ private class StdIStreamIn extends DataFlowFunction, TaintFunction {
314
307
*/
315
308
private class StdIStreamInNonMember extends DataFlowFunction , TaintFunction {
316
309
StdIStreamInNonMember ( ) {
317
- this .hasQualifiedName ( "std" , "operator>>" ) and
310
+ this .hasQualifiedName ( [ "std" , "bsl" ] , "operator>>" ) and
318
311
this .getUnspecifiedType ( ) .( ReferenceType ) .getBaseType ( ) instanceof StdBasicIStream
319
312
}
320
313
@@ -462,7 +455,7 @@ private class StdIStreamGetLine extends DataFlowFunction, TaintFunction {
462
455
* The (non-member) function `std::getline`.
463
456
*/
464
457
private class StdGetLine extends DataFlowFunction , TaintFunction {
465
- StdGetLine ( ) { this .hasQualifiedName ( "std" , "getline" ) }
458
+ StdGetLine ( ) { this .hasQualifiedName ( [ "std" , "bsl" ] , "getline" ) }
466
459
467
460
override predicate hasDataFlow ( FunctionInput input , FunctionOutput output ) {
468
461
// flow from first parameter to return value
@@ -488,7 +481,7 @@ private class StdGetLine extends DataFlowFunction, TaintFunction {
488
481
* The `std::basic_ostream` template class instantiations.
489
482
*/
490
483
private class StdBasicOStream extends ClassTemplateInstantiation {
491
- StdBasicOStream ( ) { this .hasQualifiedName ( "std" , "basic_ostream" ) }
484
+ StdBasicOStream ( ) { this .hasQualifiedName ( [ "std" , "bsl" ] , "basic_ostream" ) }
492
485
}
493
486
494
487
/**
@@ -535,7 +528,7 @@ private class StdOStreamOut extends DataFlowFunction, TaintFunction {
535
528
*/
536
529
private class StdOStreamOutNonMember extends DataFlowFunction , TaintFunction {
537
530
StdOStreamOutNonMember ( ) {
538
- this .hasQualifiedName ( "std" , "operator<<" ) and
531
+ this .hasQualifiedName ( [ "std" , "bsl" ] , "operator<<" ) and
539
532
this .getUnspecifiedType ( ) .( ReferenceType ) .getBaseType ( ) instanceof StdBasicOStream
540
533
}
541
534
@@ -563,6 +556,13 @@ private class StdOStreamOutNonMember extends DataFlowFunction, TaintFunction {
563
556
}
564
557
}
565
558
559
+ /**
560
+ * The `std::basic_stringstream` template class instantiations.
561
+ */
562
+ private class StdBasicStringStream extends ClassTemplateInstantiation {
563
+ StdBasicStringStream ( ) { this .hasQualifiedName ( [ "std" , "bsl" ] , "basic_stringstream" ) }
564
+ }
565
+
566
566
/**
567
567
* Additional model for `std::stringstream` constructors that take a string
568
568
* input parameter.
@@ -609,7 +609,7 @@ private class StdStringStreamStr extends TaintFunction {
609
609
* The `std::basic_ios` template class instantiations.
610
610
*/
611
611
private class StdBasicIOS extends ClassTemplateInstantiation {
612
- StdBasicIOS ( ) { this .hasQualifiedName ( "std" , "basic_ios" ) }
612
+ StdBasicIOS ( ) { this .hasQualifiedName ( [ "std" , "bsl" ] , "basic_ios" ) }
613
613
}
614
614
615
615
/**
0 commit comments