package generatedtest; import java.util.regex.Matcher; import java.util.regex.Pattern; // Test case generated by GenerateFlowTestCase.ql public class Test { private final String str_pattern = "\\$\\{(.*)\\}"; private final Pattern pattern = Pattern.compile(str_pattern); Object source() { return null; } void sink(Object o) { } public void test() throws Exception { { // "java.util.regex;Matcher;false;group;;;Argument[this];ReturnValue;taint;manual" String out = null; String in = (String) source(); Matcher m = pattern.matcher(in); out = m.group("foo"); sink(out); // $ hasTaintFlow } { // "java.util.regex;Matcher;false;group;;;Argument[this];ReturnValue;taint;manual" String out = null; String in = (String) source(); Matcher m = pattern.matcher(in); out = m.group(); sink(out); // $ hasTaintFlow } { // "java.util.regex;Matcher;false;group;;;Argument[this];ReturnValue;taint;manual" String out = null; String in = (String) source(); Matcher m = pattern.matcher(in); out = m.group(0); sink(out); // $ hasTaintFlow } { // "java.util.regex;Matcher;false;replaceAll;;;Argument[this];ReturnValue;taint;manual" String out = null; String in = (String) source(); Matcher m = pattern.matcher(in); out = m.replaceAll("foo"); sink(out); // $ hasTaintFlow } { // "java.util.regex;Matcher;false;replaceAll;;;Argument[0];ReturnValue;taint;manual" String out = null; String in = (String) source(); Matcher m = pattern.matcher("foo"); out = m.replaceAll(in); sink(out); // $ hasTaintFlow } { // "java.util.regex;Matcher;false;replaceFirst;;;Argument[this];ReturnValue;taint;manual" String out = null; String in = (String) source(); Matcher m = pattern.matcher(in); out = m.replaceFirst("foo"); sink(out); // $ hasTaintFlow } { // "java.util.regex;Matcher;false;replaceFirst;;;Argument[0];ReturnValue;taint;manual" String out = null; String in = (String) source(); Matcher m = pattern.matcher("foo"); out = m.replaceFirst(in); sink(out); // $ hasTaintFlow } { // "java.util.regex;Pattern;false;matcher;;;Argument[0];ReturnValue;taint;manual" Matcher out = null; CharSequence in = (CharSequence)source(); out = pattern.matcher(in); sink(out); // $ hasTaintFlow } { // "java.util.regex;Pattern;false;quote;;;Argument[0];ReturnValue;taint;manual" String out = null; String in = (String)source(); out = Pattern.quote(in); sink(out); // $ hasTaintFlow } { // "java.util.regex;Pattern;false;split;;;Argument[0];ReturnValue;taint;manual" String[] out = null; CharSequence in = (CharSequence)source(); out = pattern.split(in); sink(out); // $ hasTaintFlow } { // "java.util.regex;Pattern;false;split;;;Argument[0];ReturnValue;taint;manual" String[] out = null; CharSequence in = (CharSequence)source(); out = pattern.split(in, 0); sink(out); // $ hasTaintFlow } } }