• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag
 

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Xcode3.2 build and analyze warning for NSString allocation
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Xcode3.2 build and analyze warning for NSString allocation


  • Subject: Xcode3.2 build and analyze warning for NSString allocation
  • From: Nick Rogers <email@hidden>
  • Date: Sun, 27 Sep 2009 14:33:06 +0530

Hi,

When I alloc and init a NSString the following way, there is warning that:
Potential leak of an object allocated on line 526 and stored in sizeDisp.
1. Method returns an Objective-C object with a +1 retain count (owning reference).
2. Object returned to caller as an owning reference (single retain count transferred to caller).
3. Object allocated on line 526 and stored into 'sizeDisp' is returned from a method whose name ('tableView:objectValueForTableColumn:row:') does not contain 'copy' or otherwise starts with 'new' or 'alloc'. This violates the naming convention rules given in the Memory Management Guide for Cocoa (object leaked).


The code is as follows:

if ([[tableColumn identifier] isEqual:@"Size"] == YES)
{
NSString *sizeDisp;// line 526
NSNumber *size = [data objectForKey:@kDeviceSize];
unsigned long long sizeInBytes = [size unsignedLongLongValue];
if (sizeInBytes < 1000*1000)
{
sizeDisp = [[NSString alloc] initWithFormat:@"%.2f KB", ((float) sizeInBytes/1000)];
}
else if (sizeInBytes < 1000*1000*1000)
{
sizeDisp = [[NSString alloc] initWithFormat:@"%.2f MB", ((float) sizeInBytes/(1000*1000))];// warning number 1 (as listed above)
}
else
{
sizeDisp= [[NSString alloc] initWithFormat:@"%.2f GB", ((float) sizeInBytes/(1000*1000*1000))];
}
return sizeDisp;// warning 2 & 3 (as listed above)
}


When I do sizeDisp = [NSString stringWithFormat:@"%.2f MB", ((float) sizeInBytes/(1000*1000))];
The warning disappears in the next build and analyze.


Can I hope for a small analysis of the above from anybody?

Thanks,
Nick


_______________________________________________

Cocoa-dev mailing list (email@hidden)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Xcode3.2 build and analyze warning for NSString allocation
      • From: Jeremy Pereira <email@hidden>
    • Re: Xcode3.2 build and analyze warning for NSString allocation
      • From: Jens Alfke <email@hidden>
    • Re: Xcode3.2 build and analyze warning for NSString allocation
      • From: Roland King <email@hidden>
  • Prev by Date: Re: Creating a radar sweep effect
  • Next by Date: Re: Xcode3.2 build and analyze warning for NSString allocation
  • Previous by thread: Spotlight index all data?
  • Next by thread: Re: Xcode3.2 build and analyze warning for NSString allocation
  • Index(es):
    • Date
    • Thread