From d4558f5db1f9408993d52fea8ed6c00713772f65 Mon Sep 17 00:00:00 2001 From: rfm Date: Sun, 26 Dec 2010 20:37:35 +0000 Subject: [PATCH] Fix another leak spotted by Quentin git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/base/trunk@31779 72102866-910b-0410-8b05-ffd578937521 --- ChangeLog | 2 ++ Source/NSString.m | 19 +++++++++++-------- 2 files changed, 13 insertions(+), 8 deletions(-) diff --git a/ChangeLog b/ChangeLog index 758556556..25fc0658b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -2,6 +2,8 @@ * Source/NSString.m: ([-stringByReplacingCharactersInRange:withString:]) fix memory leak. + ([-stringByReplacingOccurrencesOfString:withString:options:range:]) + ditto. 2010-12-25 Quentin Mathe diff --git a/Source/NSString.m b/Source/NSString.m index d28414582..33d187e7e 100644 --- a/Source/NSString.m +++ b/Source/NSString.m @@ -1774,21 +1774,24 @@ handle_printf_atsign (FILE *stream, return array; } -- (NSString*)stringByReplacingOccurrencesOfString: (NSString*)replace - withString: (NSString*)by - options: (NSStringCompareOptions)opts - range: (NSRange)searchRange +- (NSString*) stringByReplacingOccurrencesOfString: (NSString*)replace + withString: (NSString*)by + options: (NSStringCompareOptions)opts + range: (NSRange)searchRange { - id copy = [self mutableCopy]; + id copy; + + copy = [[GSMutableStringClass allocWithZone: NSDefaultMallocZone()] + initWithString: self]; [copy replaceOccurrencesOfString: replace withString: by options: opts range: searchRange]; - return [copy makeImmutableCopyOnFail: NO]; + return [[copy makeImmutableCopyOnFail: NO] autorelease]; } -- (NSString*)stringByReplacingOccurrencesOfString: (NSString*)replace - withString: (NSString*)by +- (NSString*) stringByReplacingOccurrencesOfString: (NSString*)replace + withString: (NSString*)by { return [self stringByReplacingOccurrencesOfString: replace