mirror of
https://github.com/github/codeql.git
synced 2025-12-17 17:23:36 +01:00
104 lines
3.1 KiB
Java
104 lines
3.1 KiB
Java
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
|
|
}
|
|
|
|
}
|
|
|
|
} |