@@ -27,13 +27,20 @@ public boolean string3(javax.servlet.http.HttpServletRequest request) {
2727 String pattern = request .getParameter ("pattern" );
2828 String input = request .getParameter ("input" );
2929
30- return input .replaceFirst (pattern , "" ).length () > 0 ; // $ hasRegexInjection
30+ return input .split (pattern , 0 ).length > 0 ; // $ hasRegexInjection
3131 }
3232
3333 public boolean string4 (javax .servlet .http .HttpServletRequest request ) {
3434 String pattern = request .getParameter ("pattern" );
3535 String input = request .getParameter ("input" );
3636
37+ return input .replaceFirst (pattern , "" ).length () > 0 ; // $ hasRegexInjection
38+ }
39+
40+ public boolean string5 (javax .servlet .http .HttpServletRequest request ) {
41+ String pattern = request .getParameter ("pattern" );
42+ String input = request .getParameter ("input" );
43+
3744 return input .replaceAll (pattern , "" ).length () > 0 ; // $ hasRegexInjection
3845 }
3946
@@ -58,13 +65,20 @@ public boolean pattern3(javax.servlet.http.HttpServletRequest request) {
5865 String pattern = request .getParameter ("pattern" );
5966 String input = request .getParameter ("input" );
6067
61- return Pattern .matches (pattern , input ); // $ hasRegexInjection
68+ return Pattern .compile (pattern , 0 ). matcher ( input ). matches ( ); // $ hasRegexInjection
6269 }
6370
6471 public boolean pattern4 (javax .servlet .http .HttpServletRequest request ) {
6572 String pattern = request .getParameter ("pattern" );
6673 String input = request .getParameter ("input" );
6774
75+ return Pattern .matches (pattern , input ); // $ hasRegexInjection
76+ }
77+
78+ public boolean pattern5 (javax .servlet .http .HttpServletRequest request ) {
79+ String pattern = request .getParameter ("pattern" );
80+ String input = request .getParameter ("input" );
81+
6882 return input .matches ("^" + foo (pattern ) + "=.*$" ); // $ hasRegexInjection
6983 }
7084
0 commit comments