I'm using the KeyChainItemWrapper from Apple's sample code to store user password for authentication, but when I call it to set the password:
[keychain setObject:passwordField.text forKey:(id)kSecValueData];
It dribbles memory leaks all over my shirt. The problem apparently traces back to line 274 in KeyChainItemWrapper.m, which is this:
if (SecItemCopyMatching((CFDictionaryRef)genericPasswordQuery, (CFTypeRef *)&attributes) == noErr)
{
How would I fix this, and should I be more careful when working with Apple sample code in the future?
Note: I could post more code, but I've narrowed the problem down to this line using Instruments and the full sample code is readily available to any developer.