66// Test case generated by GenerateFlowTestCase.ql
77public class Test {
88
9+ private final String str_pattern = "\\ $\\ {(.*)\\ }" ;
10+ private final Pattern pattern = Pattern .compile (str_pattern );
11+
912 Object source () { return null ; }
1013 void sink (Object o ) { }
1114
@@ -14,60 +17,64 @@ public void test() throws Exception {
1417 {
1518 // "java.util.regex;Matcher;false;group;;;Argument[-1];ReturnValue;taint"
1619 String out = null ;
17- Matcher in = (Matcher )source ();
18- out = in .group ((String )null );
20+ String in = (String ) source ();
21+ Matcher m = pattern .matcher (in );
22+ out = m .group ("foo" );
1923 sink (out ); // $ hasTaintFlow
2024 }
2125 {
2226 // "java.util.regex;Matcher;false;group;;;Argument[-1];ReturnValue;taint"
2327 String out = null ;
24- Matcher in = (Matcher )source ();
25- out = in .group ();
28+ String in = (String ) source ();
29+ Matcher m = pattern .matcher (in );
30+ out = m .group ();
2631 sink (out ); // $ hasTaintFlow
2732 }
2833 {
2934 // "java.util.regex;Matcher;false;group;;;Argument[-1];ReturnValue;taint"
3035 String out = null ;
31- Matcher in = (Matcher )source ();
32- out = in .group (0 );
36+ String in = (String ) source ();
37+ Matcher m = pattern .matcher (in );
38+ out = m .group (0 );
3339 sink (out ); // $ hasTaintFlow
3440 }
3541 {
3642 // "java.util.regex;Matcher;false;replaceAll;;;Argument[-1];ReturnValue;taint"
3743 String out = null ;
38- Matcher in = (Matcher )source ();
39- out = in .replaceAll (null );
44+ String in = (String ) source ();
45+ Matcher m = pattern .matcher (in );
46+ out = m .replaceAll ("foo" );
4047 sink (out ); // $ hasTaintFlow
4148 }
4249 {
4350 // "java.util.regex;Matcher;false;replaceAll;;;Argument[0];ReturnValue;taint"
4451 String out = null ;
45- String in = (String )source ();
46- Matcher instance = null ;
47- out = instance .replaceAll (in );
52+ String in = (String ) source ();
53+ Matcher m = pattern . matcher ( "foo" ) ;
54+ out = m .replaceAll (in );
4855 sink (out ); // $ hasTaintFlow
4956 }
5057 {
5158 // "java.util.regex;Matcher;false;replaceFirst;;;Argument[-1];ReturnValue;taint"
5259 String out = null ;
53- Matcher in = (Matcher )source ();
54- out = in .replaceFirst (null );
60+ String in = (String ) source ();
61+ Matcher m = pattern .matcher (in );
62+ out = m .replaceFirst ("foo" );
5563 sink (out ); // $ hasTaintFlow
5664 }
5765 {
5866 // "java.util.regex;Matcher;false;replaceFirst;;;Argument[0];ReturnValue;taint"
5967 String out = null ;
60- String in = (String )source ();
61- Matcher instance = null ;
62- out = instance .replaceFirst (in );
68+ String in = (String ) source ();
69+ Matcher m = pattern . matcher ( "foo" ) ;
70+ out = m .replaceFirst (in );
6371 sink (out ); // $ hasTaintFlow
6472 }
6573 {
6674 // "java.util.regex;Pattern;false;matcher;;;Argument[0];ReturnValue;taint"
6775 Matcher out = null ;
6876 CharSequence in = (CharSequence )source ();
69- Pattern instance = null ;
70- out = instance .matcher (in );
77+ out = pattern .matcher (in );
7178 sink (out ); // $ hasTaintFlow
7279 }
7380 {
@@ -81,19 +88,17 @@ public void test() throws Exception {
8188 // "java.util.regex;Pattern;false;split;;;Argument[0];ReturnValue;taint"
8289 String [] out = null ;
8390 CharSequence in = (CharSequence )source ();
84- Pattern instance = null ;
85- out = instance .split (in );
91+ out = pattern .split (in );
8692 sink (out ); // $ hasTaintFlow
8793 }
8894 {
8995 // "java.util.regex;Pattern;false;split;;;Argument[0];ReturnValue;taint"
9096 String [] out = null ;
9197 CharSequence in = (CharSequence )source ();
92- Pattern instance = null ;
93- out = instance .split (in , 0 );
98+ out = pattern .split (in , 0 );
9499 sink (out ); // $ hasTaintFlow
95100 }
96101
97102 }
98103
99- }
104+ }
0 commit comments