3
3
import java .util .Map ;
4
4
import java .util .HashMap ;
5
5
import java .util .concurrent .TimeUnit ;
6
+ import java .util .Set ;
6
7
7
8
class TestBase {
8
9
String taint () { return "tainted" ; }
@@ -15,7 +16,7 @@ void test1() {
15
16
sink (Strings .padStart (x , 10 , ' ' )); // $numTaintFlow=1
16
17
sink (Strings .padEnd (x , 10 , ' ' )); // $numTaintFlow=1
17
18
sink (Strings .repeat (x , 3 )); // $numTaintFlow=1
18
- sink (Strings .emptyToNull (Strings .nullToEmpty (x ))); // $numTaintFlow =1
19
+ sink (Strings .emptyToNull (Strings .nullToEmpty (x ))); // $numValueFlow =1
19
20
sink (Strings .lenientFormat (x , 3 )); // $numTaintFlow=1
20
21
sink (Strings .commonPrefix (x , "abc" ));
21
22
sink (Strings .commonSuffix (x , "cde" ));
@@ -59,8 +60,8 @@ void test3() {
59
60
}
60
61
61
62
void test4 () {
62
- sink (Preconditions .checkNotNull (taint ())); // $numTaintFlow =1
63
- sink (Verify .verifyNotNull (taint ())); // $numTaintFlow =1
63
+ sink (Preconditions .checkNotNull (taint ())); // $numValueFlow =1
64
+ sink (Verify .verifyNotNull (taint ())); // $numValueFlow =1
64
65
}
65
66
66
67
void test5 () {
@@ -78,9 +79,9 @@ void test6() {
78
79
}
79
80
80
81
void test7 () {
81
- sink (MoreObjects .firstNonNull (taint (), taint ())); // $numTaintFlow =2
82
- sink (MoreObjects .firstNonNull (null , taint ())); // $numTaintFlow =1
83
- sink (MoreObjects .firstNonNull (taint (), null )); // $numTaintFlow =1
82
+ sink (MoreObjects .firstNonNull (taint (), taint ())); // $numValueFlow =2
83
+ sink (MoreObjects .firstNonNull (null , taint ())); // $numValueFlow =1
84
+ sink (MoreObjects .firstNonNull (taint (), null )); // $numValueFlow =1
84
85
sink (MoreObjects .toStringHelper (taint ()).add ("x" , 3 ).omitNullValues ().toString ()); // $numTaintFlow=1
85
86
sink (MoreObjects .toStringHelper ((Object ) taint ()).toString ());
86
87
sink (MoreObjects .toStringHelper ("a" ).add ("x" , 3 ).add (taint (), 4 ).toString ()); // $numTaintFlow=1
@@ -94,16 +95,15 @@ void test7() {
94
95
void test8 () {
95
96
Optional <String > x = Optional .of (taint ());
96
97
sink (x ); // $numTaintFlow=1
97
- sink (x .get ()); // $numTaintFlow=1
98
- sink (x .or ("hi" )); // $numTaintFlow=1
99
- sink (x .orNull ()); // $numTaintFlow=1
100
- sink (x .asSet ()); // $numTaintFlow=1
101
- sink (Optional .fromJavaUtil (x .toJavaUtil ())); // $numTaintFlow=1
102
- sink (Optional .fromJavaUtil (Optional .toJavaUtil (x ))); // $numTaintFlow=1
103
- sink (x .asSet ()); // $numTaintFlow=1
104
- sink (Optional .fromNullable (taint ())); // $numTaintFlow=1
105
- sink (Optional .absent ().or (x )); // $numTaintFlow=1
106
- sink (Optional .absent ().or (taint ())); // $numTaintFlow=1
107
- sink (Optional .presentInstances (Optional .of (x ).asSet ())); // $numTaintFlow=1
98
+ sink (x .get ()); // $numValueFlow=1
99
+ sink (x .or ("hi" )); // $numValueFlow=1
100
+ sink (x .orNull ()); // $numValueFlow=1
101
+ sink (x .asSet ().toArray ()[0 ]); // $numValueFlow=1
102
+ sink (Optional .fromJavaUtil (x .toJavaUtil ()).get ()); // $numValueFlow=1
103
+ sink (Optional .fromJavaUtil (Optional .toJavaUtil (x )).get ()); // $numValueFlow=1
104
+ sink (Optional .fromNullable (taint ()).get ()); // $numValueFlow=1
105
+ sink (Optional .absent ().or (x ).get ()); // $numValueFlow=1
106
+ sink (Optional .absent ().or (taint ())); // $numValueFlow=1
107
+ sink (Optional .presentInstances (Set .of (x )).iterator ().next ()); // $numValueFlow=1
108
108
}
109
109
}
0 commit comments