Skip to content

Commit c2105e5

Browse files
committed
Added test cases
1 parent 715d372 commit c2105e5

File tree

2 files changed

+26
-0
lines changed

2 files changed

+26
-0
lines changed

java/ql/test/library-tests/dataflow/taint/StringBuilderTests.java

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,27 @@ static void stringBuilderInsertBad() {
6363
sb.insert(45, taint());
6464
sink(sb.toString());
6565
}
66+
67+
static void stringBuilderGetCharsBad() {
68+
StringBuilder sb = new StringBuilder();
69+
sb.append("from preferences select locale where user=''");
70+
sb.append(taint());
71+
char[] chars = null;
72+
sb.getChars(0, 0, chars, 0);
73+
sink(new String(chars));
74+
}
75+
76+
static void stringBuilderSubSequenceBad() {
77+
StringBuilder sb = new StringBuilder();
78+
sb.append("from preferences select locale where user=''");
79+
sb.append(taint());
80+
sink(sb.subSequence(0, 0).toString());
81+
}
82+
83+
static void stringBuilderSubstringBad() {
84+
StringBuilder sb = new StringBuilder();
85+
sb.append("from preferences select locale where user=''");
86+
sb.append(taint());
87+
sink(sb.substring(0, 0));
88+
}
6689
}

java/ql/test/library-tests/dataflow/taint/test.expected

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,9 @@
5656
| StringBuilderTests.java:48:69:48:75 | taint(...) | StringBuilderTests.java:50:10:50:22 | toString(...) |
5757
| StringBuilderTests.java:56:24:56:30 | taint(...) | StringBuilderTests.java:57:10:57:22 | toString(...) |
5858
| StringBuilderTests.java:63:19:63:25 | taint(...) | StringBuilderTests.java:64:10:64:22 | toString(...) |
59+
| StringBuilderTests.java:70:15:70:21 | taint(...) | StringBuilderTests.java:73:10:73:26 | new String(...) |
60+
| StringBuilderTests.java:79:15:79:21 | taint(...) | StringBuilderTests.java:80:10:80:40 | toString(...) |
61+
| StringBuilderTests.java:86:15:86:21 | taint(...) | StringBuilderTests.java:87:10:87:27 | substring(...) |
5962
| Varargs.java:7:8:7:14 | taint(...) | Varargs.java:14:10:14:10 | s |
6063
| Varargs.java:8:8:8:14 | taint(...) | Varargs.java:19:10:19:10 | s |
6164
| Varargs.java:8:17:8:23 | taint(...) | Varargs.java:19:10:19:10 | s |

0 commit comments

Comments
 (0)