Skip to content

Commit 181a711

Browse files
Jami CogswellJami Cogswell
Jami Cogswell
authored and
Jami Cogswell
committed
Java: switch Collectors.joining model from neutral to summary
1 parent a3c7b2c commit 181a711

File tree

2 files changed

+5
-1
lines changed

2 files changed

+5
-1
lines changed

java/ql/lib/ext/java.util.stream.model.yml

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ extensions:
99
- ["java.util.stream", "BaseStream", True, "sequential", "()", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"]
1010
- ["java.util.stream", "BaseStream", True, "spliterator", "()", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"]
1111
- ["java.util.stream", "BaseStream", True, "unordered", "()", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"]
12+
- ["java.util.stream", "Collectors", False, "joining", "(CharSequence)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
1213
- ["java.util.stream", "Stream", True, "allMatch", "(Predicate)", "", "Argument[-1].Element", "Argument[0].Parameter[0]", "value", "manual"]
1314
- ["java.util.stream", "Stream", True, "anyMatch", "(Predicate)", "", "Argument[-1].Element", "Argument[0].Parameter[0]", "value", "manual"]
1415
- ["java.util.stream", "Stream", True, "collect", "(Supplier,BiConsumer,BiConsumer)", "", "Argument[-1].Element", "Argument[1].Parameter[1]", "value", "manual"]
@@ -92,7 +93,6 @@ extensions:
9293
pack: codeql/java-all
9394
extensible: neutralModel
9495
data:
95-
- ["java.util.stream", "Collectors", "joining", "(CharSequence)", "manual"]
9696
- ["java.util.stream", "Collectors", "toList", "()", "manual"]
9797
- ["java.util.stream", "Collectors", "toMap", "(Function,Function)", "manual"]
9898
- ["java.util.stream", "Collectors", "toSet", "()", "manual"]

java/ql/test/ext/TestModels/Test.java

+4
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
import java.util.concurrent.atomic.AtomicReference;
1212
import java.util.function.Function;
1313
import java.util.function.Supplier;
14+
import java.util.stream.Collectors;
1415

1516
public class Test {
1617

@@ -128,6 +129,9 @@ public void test() throws Exception {
128129
AtomicReference ar = new AtomicReference(source());
129130
sink(ar.get()); // $hasValueFlow
130131

132+
// java.util.stream
133+
sink(Collectors.joining((CharSequence)source())); // $hasTaintFlow
134+
131135
// java.util.concurrent
132136
CountDownLatch cdl = new CountDownLatch((int)source());
133137
sink(cdl.getCount()); // $hasValueFlow

0 commit comments

Comments
 (0)