Bug 58004

Summary: Memory Leak in CoreIPC::decodeResourceError
Product: WebKit Reporter: Michael Saboff <msaboff>
Component: WebKit2Assignee: Michael Saboff <msaboff>
Status: RESOLVED FIXED    
Severity: Normal    
Priority: P2    
Version: 528+ (Nightly build)   
Hardware: Mac   
OS: OS X 10.5   
Attachments:
Description Flags
Patch to wrap NSError allocation with autorelease mjs: review+

Description Michael Saboff 2011-04-06 18:35:50 PDT
The local NSError object created in decodeResourceError() has a retain count of 2 when the function exits.  One is needed for the ResourceError reference argument, the other should be released directly or via an autorelease.
Comment 1 Michael Saboff 2011-04-06 18:41:01 PDT
Created attachment 88555 [details]
Patch to wrap NSError allocation with autorelease
Comment 2 Maciej Stachowiak 2011-04-06 18:46:54 PDT
Comment on attachment 88555 [details]
Patch to wrap NSError allocation with autorelease

r=me

(But why autorelease instead of release? Explicit release is usually better.)
Comment 3 Darin Adler 2011-04-06 20:37:00 PDT
Comment on attachment 88555 [details]
Patch to wrap NSError allocation with autorelease

View in context: https://bugs.webkit.org/attachment.cgi?id=88555&action=review

> Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm:188
> +    NSError *nsError = [[[NSError alloc] initWithDomain:nsString(domain) code:code userInfo:userInfo] autorelease];

A plain old release is much faster than autorelease, so it would be better to do it that way.
Comment 4 Michael Saboff 2011-04-07 09:08:11 PDT
Committed r83177: <http://trac.webkit.org/changeset/83177>