Java: switch Collectors.joining model from neutral to summary

This commit is contained in:
Jami Cogswell
2023-01-10 21:06:03 -05:00
parent a3c7b2c3a2
commit 181a711f04
2 changed files with 5 additions and 1 deletions

View File

@@ -9,6 +9,7 @@ extensions:
- ["java.util.stream", "BaseStream", True, "sequential", "()", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"]
- ["java.util.stream", "BaseStream", True, "spliterator", "()", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"]
- ["java.util.stream", "BaseStream", True, "unordered", "()", "", "Argument[-1].Element", "ReturnValue.Element", "value", "manual"]
- ["java.util.stream", "Collectors", False, "joining", "(CharSequence)", "", "Argument[0]", "ReturnValue", "taint", "manual"]
- ["java.util.stream", "Stream", True, "allMatch", "(Predicate)", "", "Argument[-1].Element", "Argument[0].Parameter[0]", "value", "manual"]
- ["java.util.stream", "Stream", True, "anyMatch", "(Predicate)", "", "Argument[-1].Element", "Argument[0].Parameter[0]", "value", "manual"]
- ["java.util.stream", "Stream", True, "collect", "(Supplier,BiConsumer,BiConsumer)", "", "Argument[-1].Element", "Argument[1].Parameter[1]", "value", "manual"]
@@ -92,7 +93,6 @@ extensions:
pack: codeql/java-all
extensible: neutralModel
data:
- ["java.util.stream", "Collectors", "joining", "(CharSequence)", "manual"]
- ["java.util.stream", "Collectors", "toList", "()", "manual"]
- ["java.util.stream", "Collectors", "toMap", "(Function,Function)", "manual"]
- ["java.util.stream", "Collectors", "toSet", "()", "manual"]

View File

@@ -11,6 +11,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.atomic.AtomicReference;
import java.util.function.Function;
import java.util.function.Supplier;
import java.util.stream.Collectors;
public class Test {
@@ -128,6 +129,9 @@ public class Test {
AtomicReference ar = new AtomicReference(source());
sink(ar.get()); // $hasValueFlow
// java.util.stream
sink(Collectors.joining((CharSequence)source())); // $hasTaintFlow
// java.util.concurrent
CountDownLatch cdl = new CountDownLatch((int)source());
sink(cdl.getCount()); // $hasValueFlow