MARKANY(7832,0x1fd3fb5c0) malloc: double free for ptr 0x13181bc00
MARKANY(7832,0x1fd3fb5c0) malloc: *** set a breakpoint in malloc_error_break to debug
func getData(from stream:InputStream)->NSMutableData{
let maxSize = 1024
let buffer = UnsafeMutablePointer<UInt8>.allocate(capacity: maxSize)
let resultData = NSMutableData()
while stream.hasBytesAvailable{
let numberOfBytesRead = stream.read(buffer, maxLength: maxSize)
resultData.append(buffer, length: numberOfBytesRead)
if numberOfBytesRead<0 {
print("ERROR")
break
}
let info = String(bytesNoCopy: buffer, length: numberOfBytesRead, encoding: .utf8, freeWhenDone: true)
log.debug(info ?? "INFO = nil")
}
defer{
buffer.deinitialize(count: maxSize)
buffer.deallocate()
}
return resultData
}
let info = String(bytesNoCopy: buffer, length: numberOfBytesRead, encoding: .utf8, freeWhenDone: true) 에서 buffer의 메모리를 프리하기 때문에 나타난 이슈였음.