mirror of
https://github.com/github/codeql.git
synced 2026-04-25 08:45:14 +02:00
Swift: Use .ArrayElement in the models, where appropriate.
This commit is contained in:
@@ -22,15 +22,18 @@ private class ArraySummaries extends SummaryModelCsv {
|
||||
";Array;true;insert(_:at:);;;Argument[0];Argument[-1].ArrayElement;value",
|
||||
";Array;true;insert(_:at:);;;Argument[1];Argument[-1];taint",
|
||||
";Array;true;withUnsafeBufferPointer(_:);;;Argument[-1];Argument[0].Parameter[0];taint",
|
||||
";Array;true;withUnsafeBufferPointer(_:);;;Argument[-1].ArrayElement;Argument[0].Parameter[0];taint",
|
||||
";Array;true;withUnsafeBufferPointer(_:);;;Argument[0].ReturnValue;ReturnValue;value",
|
||||
";Array;true;withUnsafeMutableBufferPointer(_:);;;Argument[-1];Argument[0].Parameter[0];taint",
|
||||
";Array;true;withUnsafeMutableBufferPointer(_:);;;Argument[0].Parameter[0];Argument[-1];taint",
|
||||
";Array;true;withUnsafeMutableBufferPointer(_:);;;Argument[-1].ArrayElement;Argument[0].Parameter[0];taint",
|
||||
";Array;true;withUnsafeMutableBufferPointer(_:);;;Argument[0].Parameter[0];Argument[-1].ArrayElement;taint",
|
||||
";Array;true;withUnsafeMutableBufferPointer(_:);;;Argument[0].ReturnValue;ReturnValue;value",
|
||||
";Array;true;withUnsafeBytes(_:);;;Argument[-1];Argument[0].Parameter[0];taint",
|
||||
";Array;true;withUnsafeBytes(_:);;;Argument[-1].ArrayElement;Argument[0].Parameter[0];taint",
|
||||
";Array;true;withUnsafeBytes(_:);;;Argument[0].ReturnValue;ReturnValue;value",
|
||||
";Array;true;withUnsafeMutableBytes(_:);;;Argument[-1];Argument[0].Parameter[0];taint",
|
||||
";Array;true;withUnsafeMutableBytes(_:);;;Argument[0].Parameter[0];Argument[-1];taint",
|
||||
";Array;true;withUnsafeMutableBytes(_:);;;Argument[-1].ArrayElement;Argument[0].Parameter[0];taint",
|
||||
";Array;true;withUnsafeMutableBytes(_:);;;Argument[0].Parameter[0];Argument[-1].ArrayElement;taint",
|
||||
";Array;true;withUnsafeMutableBytes(_:);;;Argument[0].ReturnValue;ReturnValue;value",
|
||||
";ContiguousArray;true;withUnsafeBufferPointer(_:);;;Argument[-1];Argument[0].Parameter[0];taint",
|
||||
";ContiguousArray;true;withUnsafeBufferPointer(_:);;;Argument[0].ReturnValue;ReturnValue;value",
|
||||
@@ -41,6 +44,7 @@ private class ArraySummaries extends SummaryModelCsv {
|
||||
";ContiguousArray;true;withUnsafeMutableBytes(_:);;;Argument[0].Parameter[0];Argument[-1];taint",
|
||||
";ContiguousArray;true;withUnsafeMutableBytes(_:);;;Argument[0].ReturnValue;ReturnValue;value",
|
||||
";ContiguousBytes;true;withUnsafeBytes(_:);;;Argument[-1];Argument[0].Parameter[0];taint",
|
||||
";ContiguousBytes;true;withUnsafeBytes(_:);;;Argument[-1].ArrayElement;Argument[0].Parameter[0];taint",
|
||||
";ContiguousBytes;true;withUnsafeBytes(_:);;;Argument[0].ReturnValue;ReturnValue;value",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -36,6 +36,7 @@ private class CollectionSummaries extends SummaryModelCsv {
|
||||
";BidirectionalCollection;true;last(where:);;;Argument[-1];ReturnValue;taint",
|
||||
";BidirectionalCollection;true;popLast();;;Argument[-1];ReturnValue;taint",
|
||||
";MutableCollection;true;withContiguousMutableStorageIfAvailable(_:);;;Argument[-1];Argument[0].Parameter[0];taint",
|
||||
";MutableCollection;true;withContiguousMutableStorageIfAvailable(_:);;;Argument[-1].ArrayElement;Argument[0].Parameter[0];taint",
|
||||
";MutableCollection;true;withContiguousMutableStorageIfAvailable(_:);;;Argument[0].Parameter[0];Argument[-1];taint",
|
||||
";MutableCollection;true;withContiguousMutableStorageIfAvailable(_:);;;Argument[0].ReturnValue;ReturnValue.OptionalSome;value",
|
||||
]
|
||||
|
||||
@@ -26,6 +26,7 @@ private class SequenceSummaries extends SummaryModelCsv {
|
||||
";Sequence;true;joined(separator:);;;Argument[-1..0];ReturnValue;taint",
|
||||
";Sequence;true;first(where:);;;Argument[-1];ReturnValue;taint",
|
||||
";Sequence;true;withContiguousStorageIfAvailable(_:);;;Argument[-1];Argument[0].Parameter[0];taint",
|
||||
";Sequence;true;withContiguousStorageIfAvailable(_:);;;Argument[-1].ArrayElement;Argument[0].Parameter[0];taint",
|
||||
";Sequence;true;withContiguousStorageIfAvailable(_:);;;Argument[0].ReturnValue;ReturnValue.OptionalSome;value",
|
||||
]
|
||||
}
|
||||
|
||||
@@ -51,7 +51,7 @@ func taintThroughMutablePointer() {
|
||||
return source()
|
||||
})
|
||||
sink(arg: return1) // $ tainted=51
|
||||
sink(arg: myArray1) // $ tainted=47
|
||||
sink(arg: myArray1)
|
||||
sink(arg: myArray1[0]) // $ tainted=47
|
||||
|
||||
// ---
|
||||
|
||||
Reference in New Issue
Block a user