From e705ca975b4c144aa603e8ddcb907abee57faef5 Mon Sep 17 00:00:00 2001 From: kishorekumarek Date: Tue, 29 Sep 2015 15:15:56 +0530 Subject: [PATCH] Potential Leaks in Xcode 7 when using static Analyzer --- Reachability.m | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/Reachability.m b/Reachability.m index 4c1c94a..98b95a6 100644 --- a/Reachability.m +++ b/Reachability.m @@ -95,11 +95,13 @@ +(instancetype)reachabilityWithHostName:(NSString*)hostname +(instancetype)reachabilityWithHostname:(NSString*)hostname { - SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithName(NULL, [hostname UTF8String]); - if (ref) + //Potential leak of an object stored into ref + + SCNetworkReachabilityRef ref = CFAutorelease(SCNetworkReachabilityCreateWithName(NULL, [hostname UTF8String])); + if (ref) { id reachability = [[self alloc] initWithReachabilityRef:ref]; - + return reachability; } @@ -108,8 +110,10 @@ +(instancetype)reachabilityWithHostname:(NSString*)hostname +(instancetype)reachabilityWithAddress:(void *)hostAddress { - SCNetworkReachabilityRef ref = SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (const struct sockaddr*)hostAddress); - if (ref) + //Potential leak of an object stored into ref + + SCNetworkReachabilityRef ref = CFAutorelease(SCNetworkReachabilityCreateWithAddress(kCFAllocatorDefault, (const struct sockaddr*)hostAddress)); + if (ref) { id reachability = [[self alloc] initWithReachabilityRef:ref]; @@ -119,6 +123,7 @@ +(instancetype)reachabilityWithAddress:(void *)hostAddress return nil; } + +(instancetype)reachabilityForInternetConnection { struct sockaddr_in zeroAddress;