7

Using Instruments on the device it detects a 3.50 KB memory leak using Apple's Reachability 2.0 code in my app. The Leaked Object is GeneralBlock-3584. The leaks tool points to the following code:

- (BOOL) startNotifer
{
    BOOL retVal = NO;
    SCNetworkReachabilityContext    context = {0, self, NULL, NULL, NULL};
    if(SCNetworkReachabilitySetCallback(reachabilityRef, ReachabilityCallback, &context))
    {
        // THIS IS LINE OF CODE WHERE THE LEAK OCCURS:
        if(SCNetworkReachabilityScheduleWithRunLoop(reachabilityRef, CFRunLoopGetCurrent(), kCFRunLoopDefaultMode))
        {
            retVal = YES;
        }
    }
    return retVal;
}

I'm pretty much using the Reachability example straight from the Apple example code so I can't figure out why this is happening or how I fix it.

Lauren Quantrell
  • 2,647
  • 6
  • 36
  • 49

3 Answers3

6

GeneralBlock-3584 leaks are, according to official Apple statements on the developer forums (check http://devforums.apple.com, and mind your NDAs), not a real leak and in fact a bug in Instruments.

Jonathan Grynspan
  • 43,286
  • 8
  • 74
  • 104
1

Try wrapping your Reachability object with NSAutoReleasePool. If it still exist try narrowing done towards the Leak with the autoreleasepool.

halfer
  • 19,824
  • 17
  • 99
  • 186
RVN
  • 4,157
  • 5
  • 32
  • 35
0

I think this is a similar problem to this question . Actually it seems that its a Bug within CFNetwork and it depends on the OS, so there is no workaround. Apple has to fix it.

Community
  • 1
  • 1
LeonS
  • 2,684
  • 2
  • 31
  • 36