From 7f35e3e1e45edf8f71d0bacf57f904d4f387df3c Mon Sep 17 00:00:00 2001 From: Yannick Loriot Date: Tue, 21 Apr 2015 18:57:36 +0200 Subject: [PATCH] [FIX] memory leak with the takeUnretainedValue() --- SocketIOClientSwift/WebSocket.swift | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/SocketIOClientSwift/WebSocket.swift b/SocketIOClientSwift/WebSocket.swift index 4643ce3..73c03f5 100644 --- a/SocketIOClientSwift/WebSocket.swift +++ b/SocketIOClientSwift/WebSocket.swift @@ -368,13 +368,13 @@ public class WebSocket : NSObject, NSStreamDelegate { ///validates the HTTP is a 101 as per the RFC spec private func validateResponse(buffer: UnsafePointer, bufferLen: Int) -> Bool { - let response = CFHTTPMessageCreateEmpty(kCFAllocatorDefault, 0) - CFHTTPMessageAppendBytes(response.takeUnretainedValue(), buffer, bufferLen) - if CFHTTPMessageGetResponseStatusCode(response.takeUnretainedValue()) != 101 { + let response = CFHTTPMessageCreateEmpty(kCFAllocatorDefault, 0).takeRetainedValue() + CFHTTPMessageAppendBytes(response, buffer, bufferLen) + if CFHTTPMessageGetResponseStatusCode(response) != 101 { return false } - let cfHeaders = CFHTTPMessageCopyAllHeaderFields(response.takeUnretainedValue()) - let headers: NSDictionary = cfHeaders.takeUnretainedValue() + let cfHeaders = CFHTTPMessageCopyAllHeaderFields(response) + let headers: NSDictionary = cfHeaders.takeRetainedValue() let acceptKey = headers[headerWSAcceptName] as! NSString if acceptKey.length > 0 { return true