mirror of
https://github.com/github/codeql.git
synced 2026-04-28 02:05:14 +02:00
Swift: Add a test case for withMutableCharacters.
This commit is contained in:
@@ -79,7 +79,7 @@ extension String : CVarArg {
|
||||
init(platformString: UnsafePointer<CInterop.PlatformChar>) { self.init() }
|
||||
|
||||
func withPlatformString<Result>(_ body: (UnsafePointer<CInterop.PlatformChar>) throws -> Result) rethrows -> Result { return 0 as! Result }
|
||||
|
||||
mutating func withMutableCharacters<R>(_ body: (inout String) -> R) -> R { return 0 as! R }
|
||||
|
||||
|
||||
mutating func replaceSubrange<C>(_ subrange: Range<String.Index>, with newElements: C)
|
||||
@@ -687,3 +687,18 @@ func testDecodeCString() {
|
||||
sink(arg: str4) // $ tainted=669
|
||||
sink(arg: repaired4)
|
||||
}
|
||||
|
||||
func taintMutableCharacters() {
|
||||
var str = ""
|
||||
|
||||
sink(arg: str)
|
||||
let rtn = str.withMutableCharacters({
|
||||
chars in
|
||||
sink(arg: chars)
|
||||
chars.append(source2())
|
||||
sink(arg: chars) // $ tainted=698
|
||||
return source()
|
||||
})
|
||||
sink(arg: rtn) // $ MISSING: tainted=700
|
||||
sink(arg: str) // $ MISSING: tainted=698
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user