On 12 Mar 2011, at 20:11, Quincey Morris wrote:

> Well, according to your earlier post the class method returns 
> 'mySSLIdentity'. That's going to get finalized some time, isn't it? What if 
> this object has a weak reference to (or a reference to an object that has a 
> weak reference to) the SecKeychain? Note that SecKeychainRef itself is likely 
> only a weak reference (if it's an object pointer at all, though it probably 
> is).

mySSLIdentity is of type SecIdentityRef and is obtained by searching the 
keychain.
There is nothing in the docs to suggest that it retains any reference to its 
source keychain. 

> Let's assume that one of your objects in fact has a dependency on the 
> SecKeychain object, even if it's indirect and you don't know it. You might 
> therefore have to *not* CFRelease (SecKeychainRef) until the finalize of the 
> object that's dependent on it.
The docs explicitly state  that the SecKeychain object should be released via 
CFRelease.

>> Maybe the finalize reference in the crash report is misleading - search for 
>> handle_overretained_garbage in the link below:
>> http://www.opensource.apple.com/source/libauto/libauto-141.2/AutoZone.cpp?txt
> 
> I'm not sure how you'd reach that conclusion from this piece of code. 
> *Something* is being finalized, so why would it be misleading?
I mean in the sense of the error arising as a direct result of an NSObject 
instance receiving a finalize message.

Regards

Jonathan_______________________________________________

Cocoa-dev mailing list ([email protected])

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:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to [email protected]

Reply via email to