• 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
Re: Simple memory problem
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Simple memory problem


  • Subject: Re: Simple memory problem
  • From: Jeremy Pereira <email@hidden>
  • Date: Fri, 6 Feb 2009 12:36:45 +0000


On 6 Feb 2009, at 06:32, Martin Wierschin wrote:

On Feb 5, 2009, at 4:42 PM, Steve Sisak wrote:

NSString * newString = [inputString stringByReplacingCharactersInRange:range withString:@""];
[inputString release]; // release old inputString
inputString = [newString retain]; // retain new inputString

This sequence is not safe. As an optimization there is nothing preventing "inputString" from returning self if "range" is of zero length. If that ever happened, you could end up deallocating the string before the following retain occurs.

So retain newString before releasing inputString - or explicitly test for pointer equality and only do the release and retain if they are not equal.


NSString * newString = [[inputString stringByReplacingCharactersInRange:range withString:@""] retain];
[inputString release]; // release old inputString
inputString = newString ;




As has been suggested, using a single mutable string is probably the best way to go.

Agreed



~Martin
_______________________________________________

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

_______________________________________________

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


References: 
 >Re: Simple memory problem (From: Steve Sisak <email@hidden>)
 >Re: Simple memory problem (From: Martin Wierschin <email@hidden>)

  • Prev by Date: Re: Simple memory problem
  • Next by Date: Re: garbage collection is ON NSCFDictionary crash
  • Previous by thread: Re: Simple memory problem
  • Next by thread: Re: Simple memory problem
  • Index(es):
    • Date
    • Thread