Skip to content

Commit 58d5c2c

Browse files
committed
Abbreviate redundant value-flow / taint-flow tests
1 parent 82a000b commit 58d5c2c

File tree

2 files changed

+11
-10
lines changed

2 files changed

+11
-10
lines changed

java/ql/test/library-tests/frameworks/apache-commons-lang3/ObjectUtilsTest.java

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ private static class IntSource {
1010
void sink(Object o) {}
1111

1212
void test() throws Exception {
13-
sink(ObjectUtils.clone(taint())); // $hasTaintFlow $hasValueFlow
14-
sink(ObjectUtils.cloneIfPossible(taint())); // $hasTaintFlow $hasValueFlow
15-
sink(ObjectUtils.CONST(taint())); // $hasTaintFlow $hasValueFlow
16-
sink(ObjectUtils.CONST_SHORT(IntSource.taint())); // $hasTaintFlow $hasValueFlow
17-
sink(ObjectUtils.CONST_BYTE(IntSource.taint())); // $hasTaintFlow $hasValueFlow
18-
sink(ObjectUtils.defaultIfNull(taint(), null)); // $hasTaintFlow $hasValueFlow
19-
sink(ObjectUtils.defaultIfNull(null, taint())); // $hasTaintFlow $hasValueFlow
13+
sink(ObjectUtils.clone(taint())); // $hasValueFlow
14+
sink(ObjectUtils.cloneIfPossible(taint())); // $hasValueFlow
15+
sink(ObjectUtils.CONST(taint())); // $hasValueFlow
16+
sink(ObjectUtils.CONST_SHORT(IntSource.taint())); // $hasValueFlow
17+
sink(ObjectUtils.CONST_BYTE(IntSource.taint())); // $hasValueFlow
18+
sink(ObjectUtils.defaultIfNull(taint(), null)); // $hasValueFlow
19+
sink(ObjectUtils.defaultIfNull(null, taint())); // $hasValueFlow
2020
sink(ObjectUtils.firstNonNull(taint(), null, null)); // $hasTaintFlow $MISSING:hasValueFlow
2121
sink(ObjectUtils.firstNonNull(null, taint(), null)); // $hasTaintFlow $MISSING:hasValueFlow
2222
sink(ObjectUtils.firstNonNull(null, null, taint())); // $hasTaintFlow $MISSING:hasValueFlow
23-
sink(ObjectUtils.getIfNull(taint(), null)); // $hasTaintFlow $hasValueFlow
23+
sink(ObjectUtils.getIfNull(taint(), null)); // $hasValueFlow
2424
sink(ObjectUtils.max(taint(), null, null)); // $hasTaintFlow $MISSING:hasValueFlow
2525
sink(ObjectUtils.max(null, taint(), null)); // $hasTaintFlow $MISSING:hasValueFlow
2626
sink(ObjectUtils.max(null, null, taint())); // $hasTaintFlow $MISSING:hasValueFlow
@@ -33,9 +33,9 @@ void test() throws Exception {
3333
sink(ObjectUtils.mode(taint(), null, null)); // $hasTaintFlow $MISSING:hasValueFlow
3434
sink(ObjectUtils.mode(null, taint(), null)); // $hasTaintFlow $MISSING:hasValueFlow
3535
sink(ObjectUtils.mode(null, null, taint())); // $hasTaintFlow $MISSING:hasValueFlow
36-
sink(ObjectUtils.requireNonEmpty(taint(), "message")); // $hasTaintFlow $hasValueFlow
36+
sink(ObjectUtils.requireNonEmpty(taint(), "message")); // $hasValueFlow
3737
sink(ObjectUtils.requireNonEmpty("not null", taint())); // GOOD (message doesn't propagate to the return)
3838
sink(ObjectUtils.toString(taint(), "default string")); // GOOD (first argument is stringified)
39-
sink(ObjectUtils.toString(null, taint())); // $hasTaintFlow $hasValueFlow
39+
sink(ObjectUtils.toString(null, taint())); // $hasValueFlow
4040
}
4141
}

java/ql/test/library-tests/frameworks/apache-commons-lang3/flow.ql

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@ class HasFlowTest extends InlineExpectationsTest {
3434
override predicate hasActualResult(Location location, string element, string tag, string value) {
3535
tag = "hasTaintFlow" and
3636
exists(DataFlow::Node src, DataFlow::Node sink, TaintFlowConf conf | conf.hasFlow(src, sink) |
37+
not any(ValueFlowConf vconf).hasFlow(src, sink) and
3738
sink.getLocation() = location and
3839
element = sink.toString() and
3940
value = ""

0 commit comments

Comments
 (0)