Swift: Add some test of taint through 'as'.

This commit is contained in:
Geoffrey White
2023-07-06 12:56:12 +01:00
parent e313fdb392
commit 39411b0780
3 changed files with 13 additions and 0 deletions

View File

@@ -448,6 +448,8 @@
| simple.swift:146:7:146:7 | self | simple.swift:146:7:146:7 | SSA def(self) |
| simple.swift:148:13:148:13 | [post] self | simple.swift:146:2:150:3 | self[return] |
| simple.swift:148:13:148:13 | self | simple.swift:146:2:150:3 | self[return] |
| simple.swift:158:12:158:24 | OpaqueValueExpr | simple.swift:158:12:158:24 | OpenExistentialExpr |
| simple.swift:159:12:159:24 | OpaqueValueExpr | simple.swift:159:12:159:24 | OpenExistentialExpr |
| stringinterpolation.swift:5:7:5:7 | SSA def(self) | stringinterpolation.swift:5:7:5:7 | self[return] |
| stringinterpolation.swift:5:7:5:7 | SSA def(self) | stringinterpolation.swift:5:7:5:7 | self[return] |
| stringinterpolation.swift:5:7:5:7 | self | stringinterpolation.swift:5:7:5:7 | SSA def(self) |

View File

@@ -545,6 +545,8 @@ nodes
| simple.swift:85:13:85:26 | ... .&>>(_:_:) ... | semmle.label | ... .&>>(_:_:) ... |
| simple.swift:87:13:87:21 | call to ~(_:) | semmle.label | call to ~(_:) |
| simple.swift:87:14:87:21 | call to source() | semmle.label | call to source() |
| simple.swift:156:12:156:19 | call to source() | semmle.label | call to source() |
| simple.swift:157:12:157:19 | call to source() | semmle.label | call to source() |
| stringinterpolation.swift:6:6:6:6 | self [Return] [first] | semmle.label | self [Return] [first] |
| stringinterpolation.swift:6:6:6:6 | self [first] | semmle.label | self [first] |
| stringinterpolation.swift:6:6:6:6 | value | semmle.label | value |
@@ -724,6 +726,8 @@ subpaths
| simple.swift:84:13:84:25 | ... .>>(_:_:) ... | simple.swift:84:13:84:20 | call to source() | simple.swift:84:13:84:25 | ... .>>(_:_:) ... | result |
| simple.swift:85:13:85:26 | ... .&>>(_:_:) ... | simple.swift:85:13:85:20 | call to source() | simple.swift:85:13:85:26 | ... .&>>(_:_:) ... | result |
| 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 |
| 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 |
| 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 |
| stringinterpolation.swift:22:12:22:12 | "..." | stringinterpolation.swift:19:13:19:20 | call to source() | stringinterpolation.swift:22:12:22:12 | "..." | result |
| stringinterpolation.swift:24:12:24:12 | "..." | stringinterpolation.swift:19:13:19:20 | call to source() | stringinterpolation.swift:24:12:24:12 | "..." | result |
| stringinterpolation.swift:31:12:31:12 | "..." | stringinterpolation.swift:28:14:28:21 | call to source() | stringinterpolation.swift:31:12:31:12 | "..." | result |

View File

@@ -151,3 +151,10 @@ class MyClass2_NeverInstantiated {
}
// ---
func taintThroughAs() {
sink(arg: source() as Int) // $ tainted=156
sink(arg: source() as Any) // $ tainted=157
sink(arg: source() as AnyObject) // $ MISSING: tainted=158
sink(arg: source() as Sendable) // $ MISSING: tainted=159
}