Skip to content

Commit 5ffb773

Browse files
committed
Swift: Explore instantiated / not instantiated classes.
1 parent cea87a5 commit 5ffb773

File tree

2 files changed

+38
-0
lines changed

2 files changed

+38
-0
lines changed

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

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -388,6 +388,21 @@
388388
| simple.swift:120:3:120:3 | self | simple.swift:121:13:121:13 | self |
389389
| simple.swift:121:13:121:13 | [post] self | simple.swift:108:2:129:2 | self[return] |
390390
| simple.swift:121:13:121:13 | self | simple.swift:108:2:129:2 | self[return] |
391+
| simple.swift:133:7:133:7 | SSA def(mc) | simple.swift:135:3:135:3 | mc |
392+
| simple.swift:133:7:133:7 | mc | simple.swift:133:7:133:7 | SSA def(mc) |
393+
| simple.swift:133:12:133:20 | call to MyClass.init() | simple.swift:133:7:133:7 | mc |
394+
| simple.swift:135:3:135:3 | [post] mc | simple.swift:138:13:138:13 | mc |
395+
| simple.swift:135:3:135:3 | mc | simple.swift:138:13:138:13 | mc |
396+
| simple.swift:142:7:142:7 | SSA def(self) | simple.swift:142:7:142:7 | self[return] |
397+
| simple.swift:142:7:142:7 | SSA def(self) | simple.swift:142:7:142:7 | self[return] |
398+
| simple.swift:142:7:142:7 | self | simple.swift:142:7:142:7 | SSA def(self) |
399+
| simple.swift:142:7:142:7 | self | simple.swift:142:7:142:7 | SSA def(self) |
400+
| simple.swift:143:6:143:6 | self | simple.swift:143:6:143:6 | SSA def(self) |
401+
| simple.swift:144:13:144:13 | self | simple.swift:144:13:144:13 | SSA def(self) |
402+
| simple.swift:146:7:146:7 | SSA def(self) | simple.swift:148:13:148:13 | self |
403+
| simple.swift:146:7:146:7 | self | simple.swift:146:7:146:7 | SSA def(self) |
404+
| simple.swift:148:13:148:13 | [post] self | simple.swift:146:2:150:3 | self[return] |
405+
| simple.swift:148:13:148:13 | self | simple.swift:146:2:150:3 | self[return] |
391406
| stringinterpolation.swift:5:7:5:7 | SSA def(self) | stringinterpolation.swift:5:7:5:7 | self[return] |
392407
| stringinterpolation.swift:5:7:5:7 | SSA def(self) | stringinterpolation.swift:5:7:5:7 | self[return] |
393408
| stringinterpolation.swift:5:7:5:7 | self | stringinterpolation.swift:5:7:5:7 | SSA def(self) |

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

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,3 +128,26 @@ class MyClass {
128128
sink(arg: MyClass.sv)
129129
}
130130
}
131+
132+
func test_instantiate_MyClass() {
133+
let mc = MyClass()
134+
135+
mc.test()
136+
137+
sink(arg: g1) // $ MISSING: tainted=92
138+
sink(arg: mc.m1) // $ MISSING: tainted=98
139+
sink(arg: MyClass.s1) // $ MISSING: tainted=103
140+
}
141+
142+
class MyClass2_NeverInstantiated {
143+
let m1 = source()
144+
static let s1 = source()
145+
146+
func test() {
147+
sink(arg: g1) // $ MISSING: tainted=92
148+
sink(arg: m1) // $ MISSING: tainted=143
149+
sink(arg: MyClass2_NeverInstantiated.s1) // $ MISSING: tainted=144
150+
}
151+
}
152+
153+
// ---

0 commit comments

Comments
 (0)