Skip to content

Commit c4661b9

Browse files
committed
Fix _StringObject.init(object:...)
Add a missing fix_lifetime. This miscompiles with OSSA because `object` is destroyed before `bridgeObject` is retained. Reinterpreting a reference to a trivial type always requires a fix_lifetime.
1 parent 949b0c0 commit c4661b9

File tree

1 file changed

+1
-0
lines changed

1 file changed

+1
-0
lines changed

stdlib/public/core/StringObject.swift

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -207,6 +207,7 @@ extension _StringObject {
207207
internal init(
208208
object: AnyObject, discriminator: UInt64, countAndFlags: CountAndFlags
209209
) {
210+
defer { _fixLifetime(object) }
210211
let builtinRawObject: Builtin.Int64 = Builtin.reinterpretCast(object)
211212
let builtinDiscrim: Builtin.Int64 = discriminator._value
212213
self.init(

0 commit comments

Comments
 (0)