File tree Expand file tree Collapse file tree 2 files changed +64
-0
lines changed
java/ql/test/library-tests/dataflow/taint Expand file tree Collapse file tree 2 files changed +64
-0
lines changed 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 71
71
| StringBuilderTests.java:70:15:70:21 | taint(...) | StringBuilderTests.java:73:10:73:26 | new String(...) |
72
72
| StringBuilderTests.java:79:15:79:21 | taint(...) | StringBuilderTests.java:80:10:80:40 | toString(...) |
73
73
| 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 |
74
80
| Varargs.java:7:8:7:14 | taint(...) | Varargs.java:14:10:14:10 | s |
75
81
| Varargs.java:8:8:8:14 | taint(...) | Varargs.java:19:10:19:10 | s |
76
82
| 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