Skip to content

Commit 366a9f1

Browse files
committed
Swift: Convert unsafepointer.swift test to use labelled sources.
1 parent 6dd941e commit 366a9f1

File tree

1 file changed

+21
-21
lines changed

1 file changed

+21
-21
lines changed

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

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11

22
// --- stubs ---
33

4-
func sourceString() -> String { return "" }
5-
func sourceUInt8() -> UInt8 { return 0 }
4+
func sourceString(_ label: String) -> String { return "" }
5+
func sourceUInt8(_ label: String) -> UInt8 { return 0 }
66
func sink(arg: Any) {}
77

88
// --- tests ---
@@ -18,14 +18,14 @@ func taintPointer(ptr: UnsafeMutablePointer<String>) {
1818
sink(arg: ptr.pointee)
1919
sink(arg: ptr)
2020

21-
ptr.pointee = sourceString()
21+
ptr.pointee = sourceString("taintPointer")
2222

23-
sink(arg: ptr.pointee) // $ tainted=21
23+
sink(arg: ptr.pointee) // $ tainted=taintPointer
2424
sink(arg: ptr)
2525
}
2626

2727
func clearPointer2(ptr: UnsafeMutablePointer<String>) {
28-
sink(arg: ptr.pointee) // $ tainted=21
28+
sink(arg: ptr.pointee) // $ tainted=taintPointer
2929
sink(arg: ptr)
3030

3131
ptr.pointee = "abc"
@@ -42,12 +42,12 @@ func testMutatingPointerInCall(ptr: UnsafeMutablePointer<String>) {
4242

4343
taintPointer(ptr: ptr) // mutates `ptr` pointee with a tainted value
4444

45-
sink(arg: ptr.pointee) // $ tainted=21
45+
sink(arg: ptr.pointee) // $ tainted=taintPointer
4646
sink(arg: ptr)
4747

4848
clearPointer2(ptr: ptr)
4949

50-
sink(arg: ptr.pointee) // $ SPURIOUS: tainted=21
50+
sink(arg: ptr.pointee) // $ SPURIOUS: tainted=taintPointer
5151
sink(arg: ptr)
5252
}
5353

@@ -57,10 +57,10 @@ func taintBuffer(buffer: UnsafeMutableBufferPointer<UInt8>) {
5757
sink(arg: buffer[0])
5858
sink(arg: buffer)
5959

60-
buffer[0] = sourceUInt8()
60+
buffer[0] = sourceUInt8("taintBuffer")
6161

62-
sink(arg: buffer[0]) // $ tainted=60
63-
sink(arg: buffer) // $ tainted=60
62+
sink(arg: buffer[0]) // $ tainted=taintBuffer
63+
sink(arg: buffer) // $ tainted=taintBuffer
6464
}
6565

6666
func testMutatingBufferInCall(ptr: UnsafeMutablePointer<UInt8>) {
@@ -71,8 +71,8 @@ func testMutatingBufferInCall(ptr: UnsafeMutablePointer<UInt8>) {
7171

7272
taintBuffer(buffer: buffer) // mutates `buffer` contents with a tainted value
7373

74-
sink(arg: buffer[0]) // $ tainted=60
75-
sink(arg: buffer) // $ tainted=60
74+
sink(arg: buffer[0]) // $ tainted=taintBuffer
75+
sink(arg: buffer) // $ tainted=taintBuffer
7676

7777
}
7878

@@ -84,9 +84,9 @@ func taintMyPointer(ptr: MyPointer) {
8484
sink(arg: ptr.pointee)
8585
sink(arg: ptr)
8686

87-
ptr.pointee = sourceString()
87+
ptr.pointee = sourceString("taintMyPointer")
8888

89-
sink(arg: ptr.pointee) // $ tainted=87
89+
sink(arg: ptr.pointee) // $ tainted=taintMyPointer
9090
sink(arg: ptr)
9191
}
9292

@@ -96,7 +96,7 @@ func testMutatingMyPointerInCall(ptr: MyPointer) {
9696

9797
taintMyPointer(ptr: ptr) // mutates `ptr` pointee with a tainted value
9898

99-
sink(arg: ptr.pointee) // $ MISSING: tainted=87
99+
sink(arg: ptr.pointee) // $ MISSING: tainted=taintMyPointer
100100
sink(arg: ptr)
101101
}
102102

@@ -111,19 +111,19 @@ struct MyGenericPointerContainer<T> {
111111
}
112112

113113
func writePointerContainer(mpc: MyPointerContainer) {
114-
mpc.ptr.pointee = sourceString()
115-
sink(arg: mpc.ptr.pointee) // $ tainted=114
114+
mpc.ptr.pointee = sourceString("writePointerContainer")
115+
sink(arg: mpc.ptr.pointee) // $ tainted=writePointerContainer
116116
}
117117

118118
func writeGenericPointerContainer<T>(mgpc: MyGenericPointerContainer<T>) {
119-
mgpc.ptr.pointee = sourceString() as! T
120-
sink(arg: mgpc.ptr.pointee) // $ tainted=119
119+
mgpc.ptr.pointee = sourceString("writeGenericPointerContainer") as! T
120+
sink(arg: mgpc.ptr.pointee) // $ tainted=writeGenericPointerContainer
121121
}
122122

123123
func testWritingPointerContainersInCalls(mpc: MyPointerContainer, mgpc: MyGenericPointerContainer<Int>) {
124124
writePointerContainer(mpc: mpc)
125-
sink(arg: mpc.ptr.pointee) // $ tainted=114
125+
sink(arg: mpc.ptr.pointee) // $ tainted=writePointerContainer
126126

127127
writeGenericPointerContainer(mgpc: mgpc)
128-
sink(arg: mgpc.ptr.pointee) // $ tainted=119
128+
sink(arg: mgpc.ptr.pointee) // $ tainted=writeGenericPointerContainer
129129
}

0 commit comments

Comments
 (0)