Fixed a small memory leak in PreferencesController and keychain access.
[MenuTunes.git] / PreferencesController.m
index 962b7d8..0a796dc 100755 (executable)
@@ -184,11 +184,12 @@ static PreferencesController *prefs = nil;
                        ITDebugLog(@"Audioscrobbler: Error getting keychain item password: %i", status);
                } else {
                        NSLog(@"Audioscrobbler: password buffer: \"%s\" \"Length: %i\"", buffer, length);
-                       pass = [[NSString alloc] initWithCharacters:(unichar *)buffer length:length];
+                       pass = [[NSString alloc] initWithBytes:buffer length:length encoding:NSUTF8StringEncoding];
                }
                if (status != noErr) {
                        ITDebugLog(@"Audioscrobbler: Error deleting keychain item: %i", status);
                }
+               SecKeychainItemFreeContent(NULL, buffer);
                CFRelease(item);
        }
        NSLog(@"Audioscrobbler: Retrieved password: \"%@\"", pass);