Skip to content

Commit 39411b0

Browse files
committed
Swift: Add some test of taint through 'as'.
1 parent e313fdb commit 39411b0

File tree

3 files changed

+13
-0
lines changed

3 files changed

+13
-0
lines changed

swift/ql/test/library-tests/dataflow/taint/core/LocalTaint.expected

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -448,6 +448,8 @@
448448
| simple.swift:146:7:146:7 | self | simple.swift:146:7:146:7 | SSA def(self) |
449449
| simple.swift:148:13:148:13 | [post] self | simple.swift:146:2:150:3 | self[return] |
450450
| simple.swift:148:13:148:13 | self | simple.swift:146:2:150:3 | self[return] |
451+
| simple.swift:158:12:158:24 | OpaqueValueExpr | simple.swift:158:12:158:24 | OpenExistentialExpr |
452+
| simple.swift:159:12:159:24 | OpaqueValueExpr | simple.swift:159:12:159:24 | OpenExistentialExpr |
451453
| stringinterpolation.swift:5:7:5:7 | SSA def(self) | stringinterpolation.swift:5:7:5:7 | self[return] |
452454
| stringinterpolation.swift:5:7:5:7 | SSA def(self) | stringinterpolation.swift:5:7:5:7 | self[return] |
453455
| stringinterpolation.swift:5:7:5:7 | self | stringinterpolation.swift:5:7:5:7 | SSA def(self) |

swift/ql/test/library-tests/dataflow/taint/core/Taint.expected

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -545,6 +545,8 @@ nodes
545545
| simple.swift:85:13:85:26 | ... .&>>(_:_:) ... | semmle.label | ... .&>>(_:_:) ... |
546546
| simple.swift:87:13:87:21 | call to ~(_:) | semmle.label | call to ~(_:) |
547547
| simple.swift:87:14:87:21 | call to source() | semmle.label | call to source() |
548+
| simple.swift:156:12:156:19 | call to source() | semmle.label | call to source() |
549+
| simple.swift:157:12:157:19 | call to source() | semmle.label | call to source() |
548550
| stringinterpolation.swift:6:6:6:6 | self [Return] [first] | semmle.label | self [Return] [first] |
549551
| stringinterpolation.swift:6:6:6:6 | self [first] | semmle.label | self [first] |
550552
| stringinterpolation.swift:6:6:6:6 | value | semmle.label | value |
@@ -724,6 +726,8 @@ subpaths
724726
| simple.swift:84:13:84:25 | ... .>>(_:_:) ... | simple.swift:84:13:84:20 | call to source() | simple.swift:84:13:84:25 | ... .>>(_:_:) ... | result |
725727
| simple.swift:85:13:85:26 | ... .&>>(_:_:) ... | simple.swift:85:13:85:20 | call to source() | simple.swift:85:13:85:26 | ... .&>>(_:_:) ... | result |
726728
| simple.swift:87:13:87:21 | call to ~(_:) | simple.swift:87:14:87:21 | call to source() | simple.swift:87:13:87:21 | call to ~(_:) | result |
729+
| simple.swift:156:12:156:19 | call to source() | simple.swift:156:12:156:19 | call to source() | simple.swift:156:12:156:19 | call to source() | result |
730+
| simple.swift:157:12:157:19 | call to source() | simple.swift:157:12:157:19 | call to source() | simple.swift:157:12:157:19 | call to source() | result |
727731
| stringinterpolation.swift:22:12:22:12 | "..." | stringinterpolation.swift:19:13:19:20 | call to source() | stringinterpolation.swift:22:12:22:12 | "..." | result |
728732
| stringinterpolation.swift:24:12:24:12 | "..." | stringinterpolation.swift:19:13:19:20 | call to source() | stringinterpolation.swift:24:12:24:12 | "..." | result |
729733
| stringinterpolation.swift:31:12:31:12 | "..." | stringinterpolation.swift:28:14:28:21 | call to source() | stringinterpolation.swift:31:12:31:12 | "..." | result |

swift/ql/test/library-tests/dataflow/taint/core/simple.swift

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -151,3 +151,10 @@ class MyClass2_NeverInstantiated {
151151
}
152152

153153
// ---
154+
155+
func taintThroughAs() {
156+
sink(arg: source() as Int) // $ tainted=156
157+
sink(arg: source() as Any) // $ tainted=157
158+
sink(arg: source() as AnyObject) // $ MISSING: tainted=158
159+
sink(arg: source() as Sendable) // $ MISSING: tainted=159
160+
}

0 commit comments

Comments
 (0)