File tree Expand file tree Collapse file tree
java/ql/test/library-tests/dataflow/taint Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1+ import java .util .StringJoiner ;
2+
3+ public class StringJoinerTests {
4+
5+ Object taint () {
6+ return null ;
7+ }
8+
9+ void sink (Object o ) {}
10+
11+ public void test () throws Exception {
12+
13+ {
14+ // "java.util;StringJoiner;true;add;;;Argument[-1];ReturnValue;value;manual"
15+ StringJoiner out = null ;
16+ StringJoiner in = (StringJoiner ) taint ();
17+ out = in .add (null );
18+ sink (out );
19+ }
20+ {
21+ // "java.util;StringJoiner;true;add;;;Argument[0];Argument[-1];taint;manual"
22+ StringJoiner out = null ;
23+ CharSequence in = (CharSequence ) taint ();
24+ out .add (in );
25+ sink (out );
26+ }
27+ {
28+ // "java.util;StringJoiner;true;merge;;;Argument[-1];ReturnValue;value;manual"
29+ StringJoiner out = null ;
30+ StringJoiner in = (StringJoiner ) taint ();
31+ out = in .merge (null );
32+ sink (out );
33+ }
34+ {
35+ // "java.util;StringJoiner;true;merge;;;Argument[0];Argument[-1];taint;manual"
36+ StringJoiner out = null ;
37+ StringJoiner in = (StringJoiner ) taint ();
38+ out .merge (in );
39+ sink (out );
40+ }
41+ {
42+ // "java.util;StringJoiner;true;setEmptyValue;;;Argument[-1];ReturnValue;taint;manual"
43+ StringJoiner out = null ;
44+ StringJoiner in = (StringJoiner ) taint ();
45+ out = in .setEmptyValue (null );
46+ sink (out );
47+ }
48+ {
49+ // "java.util;StringJoiner;true;toString;;;Argument[-1];ReturnValue;taint;manual"
50+ String out = null ;
51+ StringJoiner in = (StringJoiner ) taint ();
52+ out = in .toString ();
53+ sink (out );
54+ }
55+
56+ }
57+
58+ }
Original file line number Diff line number Diff line change 7171| StringBuilderTests.java:70:15:70:21 | taint(...) | StringBuilderTests.java:73:10:73:26 | new String(...) |
7272| StringBuilderTests.java:79:15:79:21 | taint(...) | StringBuilderTests.java:80:10:80:40 | toString(...) |
7373| StringBuilderTests.java:86:15:86:21 | taint(...) | StringBuilderTests.java:87:10:87:27 | substring(...) |
74+ | StringJoinerTests.java:16:37:16:43 | taint(...) | StringJoinerTests.java:18:9:18:11 | out |
75+ | StringJoinerTests.java:23:37:23:43 | taint(...) | StringJoinerTests.java:25:9:25:11 | out |
76+ | StringJoinerTests.java:30:37:30:43 | taint(...) | StringJoinerTests.java:32:9:32:11 | out |
77+ | StringJoinerTests.java:37:37:37:43 | taint(...) | StringJoinerTests.java:39:9:39:11 | out |
78+ | StringJoinerTests.java:44:37:44:43 | taint(...) | StringJoinerTests.java:46:9:46:11 | out |
79+ | StringJoinerTests.java:51:37:51:43 | taint(...) | StringJoinerTests.java:53:9:53:11 | out |
7480| Varargs.java:7:8:7:14 | taint(...) | Varargs.java:14:10:14:10 | s |
7581| Varargs.java:8:8:8:14 | taint(...) | Varargs.java:19:10:19:10 | s |
7682| Varargs.java:8:17:8:23 | taint(...) | Varargs.java:19:10:19:10 | s |
You can’t perform that action at this time.
0 commit comments