Treat failure to delete a non-existent password as success

Fixes https://github.com/signalapp/Signal-iOS/issues/3876
pull/1/head
Matt Rubin 7 years ago committed by Matthew Chen
parent ec019f2863
commit d25579e478

@ -94,6 +94,10 @@ public class SSKDefaultKeychainStorage: NSObject, SSKKeychainStorage {
var error: NSError? var error: NSError?
let result = SAMKeychain.deletePassword(forService: service, account: key, error: &error) let result = SAMKeychain.deletePassword(forService: service, account: key, error: &error)
if let error = error { if let error = error {
// If deletion failed because the specified item could not be found in the keychain, consider it success.
if error.code == errSecItemNotFound {
return
}
throw KeychainStorageError.failure(description: "\(logTag) error removing data: \(error)") throw KeychainStorageError.failure(description: "\(logTag) error removing data: \(error)")
} }
guard result else { guard result else {

Loading…
Cancel
Save