Skip to content

Commit 14031bf

Browse files
committed
Swift: Model Sequence.forEach as well.
1 parent 60b27a4 commit 14031bf

File tree

2 files changed

+2
-1
lines changed
  • swift/ql
    • lib/codeql/swift/frameworks/StandardLibrary
    • test/library-tests/dataflow/taint/libraries

2 files changed

+2
-1
lines changed

swift/ql/lib/codeql/swift/frameworks/StandardLibrary/Sequence.qll

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ private class SequenceSummaries extends SummaryModelCsv {
4949
";Sequence;true;withContiguousStorageIfAvailable(_:);;;Argument[-1];Argument[0].Parameter[0].CollectionElement;taint",
5050
";Sequence;true;withContiguousStorageIfAvailable(_:);;;Argument[-1].CollectionElement;Argument[0].Parameter[0].CollectionElement;value",
5151
";Sequence;true;withContiguousStorageIfAvailable(_:);;;Argument[0].ReturnValue;ReturnValue.OptionalSome;value",
52+
";Sequence;true;forEach(_:);;;Argument[-1].CollectionElement;Argument[0].Parameter[0];value",
5253
";Sequence;true;makeIterator();;;Argument[-1].CollectionElement;ReturnValue.CollectionElement;value",
5354
";Sequence;true;min();;;Argument[-1].CollectionElement;ReturnValue.OptionalSome;taint",
5455
";Sequence;true;min(by:);;;Argument[-1].CollectionElement;ReturnValue.OptionalSome;taint",

swift/ql/test/library-tests/dataflow/taint/libraries/set.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ func testSet(ix: Int) {
3838
}
3939
taintedSet.forEach {
4040
elem in
41-
sink(arg: elem) // $ MISSING: tainted=
41+
sink(arg: elem) // $ tainted=t1
4242
}
4343

4444
var set1 = Set<Int>()

0 commit comments

Comments
 (0)