Re: Analyser reports memory leak… where?
Re: Analyser reports memory leak… where?
- Subject: Re: Analyser reports memory leak… where?
- From: Fritz Anderson <email@hidden>
- Date: Thu, 12 Sep 2013 09:42:10 -0500
On 12 Sep 2013, at 4:35 AM, Graham Cox <email@hidden> wrote:
> Here's some code for which the Analyser reports "potential leak of an object stored into 'eventTypes'". I don't see it.
>
> I didn't write this code, so I'm reluctant to change it even though I would have written it a bit differently. mEventTypes is an ivar.
>
> - (void)setEventTypes:(NSDictionary*)eventTypes
> {
> if (eventTypes != mEventTypes)
> {
> [mEventTypes release];
> mEventTypes = [eventTypes retain];
> }
> InitializePrefsForEventTypeNames();
> }
>
> - (NSDictionary*)eventTypes
> {
> if (mEventTypes == nil)
> {
> [self loadNib];
>
> NSDictionary* eventTypes = [self newEventTypes];
> [self setEventTypes:eventTypes];
> [eventTypes release];
> }
> return mEventTypes; //<----- analyser complains here
> }
>
> - (NSDictionary*)newEventTypes
> {
> //[code deleted that presets contents of 'eventTypes']
>
> // Method name begins with "new"; clients are responsible for releasing.
> return [[NSDictionary alloc] initWithDictionary:eventTypes];
> }
I tried a Foundation-tool project that included a class with the methods you show, dummying the methods and functions not shown as empty void-returning-void, and dictionary data as one string-keying-string. ARC off.
Running this through a later version of clang showed no analyzer errors. I think it's a bug in the version of clang you're using. Or: clang does cross-function checks to one degree or another. Can you make a minimal example, and add the code you omitted here to see what makes the analyzer unhappy?
I assume you expanded the note and examined the code path on which the compiler saw a potential problem?
— F
_______________________________________________
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