Skip to content

Commit 2e0dd7b

Browse files
committed
Use UnsafeRawPointer in withArrayOfCStrings.
To obey the memory model.
1 parent c125528 commit 2e0dd7b

File tree

1 file changed

+2
-1
lines changed

1 file changed

+2
-1
lines changed

stdlib/private/SwiftPrivate/SwiftPrivate.swift

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,8 @@ public func withArrayOfCStrings<R>(
8181

8282
return argsBuffer.withUnsafeMutableBufferPointer {
8383
(argsBuffer) in
84-
let ptr = UnsafeMutablePointer<CChar>(argsBuffer.baseAddress!)
84+
let ptr = UnsafeMutableRawPointer(argsBuffer.baseAddress!).bindMemory(
85+
to: CChar.self, capacity: argsBuffer.count)
8586
var cStrings: [UnsafeMutablePointer<CChar>?] = argsOffsets.map { ptr + $0 }
8687
cStrings[cStrings.count - 1] = nil
8788
return body(cStrings)

0 commit comments

Comments
 (0)