@@ -11,7 +11,7 @@ function strToStr() {
1111 sink ( s . unescapeHTML ( source ( "s8" ) ) ) ; // $ hasTaintFlow=s8
1212 sink ( s . wrap ( source ( "s9" ) , { } ) ) ; // $ hasTaintFlow=s9
1313 sink ( s . dedent ( source ( "s10" ) , " " ) ) ; // $ hasTaintFlow=s10
14- sink ( s . reverse ( source ( "s11" ) ) ) ; // $ hasTaintFlow=s11
14+ sink ( s . reverse ( source ( "s11" ) ) ) ; // $ hasTaintFlow=s11 SPURIOUS: hasTaintFlow=s8
1515 sink ( s . pred ( source ( "s12" ) ) ) ; // $ hasTaintFlow=s12
1616 sink ( s . succ ( source ( "s13" ) ) ) ; // $ hasTaintFlow=s13
1717 sink ( s . titleize ( source ( "s14" ) ) ) ; // $ hasTaintFlow=s14
@@ -45,3 +45,38 @@ function arrayToStr() {
4545 sink ( s . toSentence ( [ source ( "s1" ) ] ) ) ; // $ hasTaintFlow=s1
4646 sink ( s . toSentenceSerial ( [ source ( "s2" ) ] ) ) ; // $ hasTaintFlow=s2
4747}
48+
49+ function multiSource ( ) {
50+ sink ( s . insert ( "str" , 4 , source ( "s1" ) ) ) ; // $ MISSING: hasTaintFlow=s1
51+ sink ( s . insert ( source ( "s2" ) , 4 , "" ) ) ; // $ MISSING: hasTaintFlow=s2
52+
53+ sink ( s . replaceAll ( "astr" , "a" , source ( "s3" ) ) ) ; // $ MISSING: hasTaintFlow=s3
54+ sink ( s . replaceAll ( source ( "s4" ) , "a" , "" ) ) ; // $ MISSING: hasTaintFlow=s4
55+
56+ sink ( s . join ( "," , source ( "s5" ) , "str" ) ) ; // $ MISSING: hasTaintFlow=s5
57+ sink ( s . join ( "," , "str" , source ( "s6" ) ) ) ; // $ MISSING: hasTaintFlow=s6
58+
59+ sink ( s . splice ( source ( "s7" ) , 1 , 2 , "str" ) ) ; // $ MISSING: hasTaintFlow=s7 SPURIOUS: hasTaintFlow=s8
60+ sink ( s . splice ( "str" , 1 , 2 , source ( "s8" ) ) ) ; // $ SPURIOUS: hasTaintFlow=s8
61+
62+ sink ( s . prune ( source ( "s9" ) , 1 , "additional" ) ) ; // $ MISSING: hasTaintFlow=s9
63+ sink ( s . prune ( "base" , 1 , source ( "s10" ) ) ) ; // $ MISSING: hasTaintFlow=s10
64+
65+ sink ( s . pad ( source ( "s11" ) , 10 , "charsToPad" , "right" ) ) ; // $ MISSING: hasTaintFlow=s11
66+ sink ( s . pad ( "base" , 10 , source ( "s12" ) , "right" ) ) ; // $ MISSING: hasTaintFlow=s12
67+
68+ sink ( s . lpad ( source ( "s13" ) , 10 , "charsToPad" ) ) ; // $ MISSING: hasTaintFlow=s13
69+ sink ( s . lpad ( "base" , 10 , source ( "s14" ) ) ) ; // $ MISSING: hasTaintFlow=s14
70+
71+ sink ( s . rpad ( source ( "s15" ) , 10 , "charsToPad" ) ) ; // $ MISSING: hasTaintFlow=s15
72+ sink ( s . rpad ( "base" , 10 , source ( "s16" ) ) ) ; // $ MISSING: hasTaintFlow=s16
73+
74+ sink ( s . repeat ( source ( "s17" ) , 3 , "seperator" ) ) ; // $ MISSING: hasTaintFlow=s17
75+ sink ( s . repeat ( "base" , 3 , source ( "s18" ) ) ) ; // $ MISSING: hasTaintFlow=s18
76+
77+ sink ( s . surround ( source ( "s19" ) , "wrap" ) ) ; // $ MISSING: hasTaintFlow=s19
78+ sink ( s . surround ( "base" , source ( "s20" ) ) ) ; // $ MISSING: hasTaintFlow=s20
79+
80+ sink ( s . quote ( source ( "s21" ) , "quote" ) ) ; // $ MISSING: hasTaintFlow=s21
81+ sink ( s . quote ( "base" , source ( "s22" ) ) ) ; // $ MISSING: hasTaintFlow=s22
82+ }
0 commit comments