File tree Expand file tree Collapse file tree 2 files changed +38
-0
lines changed
java/ql/test/library-tests/dataflow/taintgettersetter Expand file tree Collapse file tree 2 files changed +38
-0
lines changed Original file line number Diff line number Diff line change @@ -34,4 +34,38 @@ void foo(Box b1, Box b2) {
34
34
Box b4 = Box .mk (taint ());
35
35
sink (b4 .getS1 ());
36
36
}
37
+
38
+ static class Box2 {
39
+ String s ;
40
+ String getS () { return s ; }
41
+ void setS (String s ) { this .s = s ; }
42
+
43
+ Box2 (String s ) {
44
+ setS (s + "1" );
45
+ }
46
+ String getS1 () { return getS () + "2" ; }
47
+ String getS2 () { return step (getS () + "_" ) + "2" ; }
48
+ void setS1 (String s ) { setS ("3" + s ); }
49
+ void setS2 (String s ) { setS ("3" + step ("_" + s )); }
50
+ static Box2 mk (String s ) {
51
+ Box2 b = new Box2 ("" );
52
+ b .setS (step (s ));
53
+ return b ;
54
+ }
55
+ }
56
+
57
+ void foo2 (Box2 b1 , Box2 b2 ) {
58
+ b1 .setS1 (taint ());
59
+ sink (b1 .getS1 ());
60
+
61
+ b2 .setS2 (taint ());
62
+ sink (b2 .getS2 ());
63
+
64
+ String t3 = taint ();
65
+ Box2 b3 = new Box2 (step (t3 ));
66
+ sink (b3 .s );
67
+
68
+ Box2 b4 = Box2 .mk (taint ());
69
+ sink (b4 .getS1 ());
70
+ }
37
71
}
Original file line number Diff line number Diff line change 2
2
| A.java:27:14:27:20 | taint(...) | A.java:28:10:28:19 | getS2(...) |
3
3
| A.java:30:17:30:23 | taint(...) | A.java:32:10:32:13 | b3.s |
4
4
| A.java:34:21:34:27 | taint(...) | A.java:35:10:35:19 | getS1(...) |
5
+ | A.java:58:14:58:20 | taint(...) | A.java:59:10:59:19 | getS1(...) |
6
+ | A.java:61:14:61:20 | taint(...) | A.java:62:10:62:19 | getS2(...) |
7
+ | A.java:64:17:64:23 | taint(...) | A.java:66:10:66:13 | b3.s |
8
+ | A.java:68:23:68:29 | taint(...) | A.java:69:10:69:19 | getS1(...) |
You can’t perform that action at this time.
0 commit comments