Skip to content

Commit 9762423

Browse files
Jami CogswellJami Cogswell
authored andcommitted
Java: add more test cases
1 parent 8363084 commit 9762423

File tree

3 files changed

+23
-2
lines changed

3 files changed

+23
-2
lines changed

java/ql/lib/ext/java.lang.model.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -49,7 +49,6 @@ extensions:
4949
- ["java.lang", "RuntimeException", False, "RuntimeException", "(String)", "", "Argument[0]", "Argument[-1].SyntheticField[java.lang.Throwable.message]", "value", "manual"]
5050
- ["java.lang", "RuntimeException", False, "RuntimeException", "(Throwable)", "", "Argument[0]", "Argument[-1].SyntheticField[java.lang.Throwable.cause]", "value", "manual"]
5151
- ["java.lang", "String", False, "String", "", "", "Argument[0]", "Argument[-1]", "taint", "manual"]
52-
- ["java.lang", "String", False, "charAt", "(int)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
5352
- ["java.lang", "String", False, "concat", "(String)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]
5453
- ["java.lang", "String", False, "concat", "(String)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
5554
- ["java.lang", "String", False, "copyValueOf", "", "", "Argument[0]", "ReturnValue", "taint", "manual"]

java/ql/lib/ext/java.sql.model.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,4 +19,4 @@ extensions:
1919
pack: codeql/java-all
2020
extensible: extSummaryModel
2121
data:
22-
- ["java.sql", "ResultSet", True, "getString", "(String)", "", "Argument[-1].Element", "ReturnValue", "value", "manual"]
22+
- ["java.sql", "ResultSet", True, "getString", "(String)", "", "Argument[-1]", "ReturnValue", "taint", "manual"]

java/ql/test/ext/TestModels/Test.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,6 @@
1+
import java.math.BigDecimal;
2+
import java.sql.ResultSet;
3+
14
public class Test {
25

36
void sink(Object o) { }
@@ -19,5 +22,24 @@ public void test() throws Exception {
1922

2023
Throwable t = new Throwable((Throwable)source());
2124
sink((Throwable)t.getCause()); // $hasValueFlow
25+
26+
Integer x = (Integer)source();
27+
int y = x;
28+
sink(String.valueOf(y)); // $hasTaintFlow
29+
30+
String s1 = (String)source();
31+
sink(Integer.parseInt(s1)); // $hasTaintFlow
32+
33+
String s2 = (String)source();
34+
int i = 0;
35+
sink(s2.charAt(i)); // $hasTaintFlow
36+
37+
String s3 = (String)source();
38+
sink(new BigDecimal(s3)); // $hasTaintFlow
39+
40+
ResultSet rs = (ResultSet)source();
41+
sink(rs.getString("")); // $hasTaintFlow
42+
43+
2244
}
2345
}

0 commit comments

Comments
 (0)