File tree Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Expand file tree Collapse file tree 1 file changed +6
-5
lines changed Original file line number Diff line number Diff line change @@ -70,24 +70,25 @@ extension _BodyStreamSource : _BodySource {
70
70
guard inputStream. hasBytesAvailable else {
71
71
return . done
72
72
}
73
-
74
73
75
74
let buffer = UnsafeMutableRawBufferPointer . allocate ( count: length)
76
- guard let pointer = buffer . baseAddress ? . assumingMemoryBound ( to : UInt8 . self ) else {
75
+ defer {
77
76
buffer. deallocate ( )
77
+ }
78
+
79
+ guard let pointer = buffer. baseAddress? . assumingMemoryBound ( to: UInt8 . self) else {
78
80
return . error
79
81
}
82
+
80
83
let readBytes = self . inputStream. read ( pointer, maxLength: length)
81
84
if readBytes > 0 {
82
- let dispatchData = DispatchData ( bytesNoCopy : UnsafeRawBufferPointer ( buffer) , deallocator : . free )
85
+ let dispatchData = DispatchData ( bytes : UnsafeRawBufferPointer ( buffer) )
83
86
return . data( dispatchData. subdata ( in: 0 ..< readBytes) )
84
87
}
85
88
else if readBytes == 0 {
86
- buffer. deallocate ( )
87
89
return . done
88
90
}
89
91
else {
90
- buffer. deallocate ( )
91
92
return . error
92
93
}
93
94
}
You can’t perform that action at this time.
0 commit comments