From a4855acf44fd0bc13f488cf7659deaf981385a5c Mon Sep 17 00:00:00 2001 From: Matthew Chen Date: Wed, 21 Feb 2018 16:12:21 -0500 Subject: [PATCH] Don't clear legacy db password until conversion completes. --- Signal/src/AppDelegate.m | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/Signal/src/AppDelegate.m b/Signal/src/AppDelegate.m index af994e92a..56f568257 100644 --- a/Signal/src/AppDelegate.m +++ b/Signal/src/AppDelegate.m @@ -341,7 +341,7 @@ static NSString *const kURLHostVerifyPrefix = @"verify"; return nil; } - NSError *error; + NSError *_Nullable error; NSData *_Nullable databasePassword = [OWSStorage tryToLoadDatabaseLegacyPassphrase:&error]; if (!databasePassword || error) { return (error @@ -362,14 +362,18 @@ static NSString *const kURLHostVerifyPrefix = @"verify"; } [OWSStorage storeDatabaseCipherKeySpec:keySpecData]; - [OWSStorage removeLegacyPassphrase]; return YES; }; - return [YapDatabaseCryptoUtils convertDatabaseIfNecessary:databaseFilePath - databasePassword:databasePassword - recordSaltBlock:recordSaltBlock]; + error = [YapDatabaseCryptoUtils convertDatabaseIfNecessary:databaseFilePath + databasePassword:databasePassword + recordSaltBlock:recordSaltBlock]; + if (!error) { + [OWSStorage removeLegacyPassphrase]; + } + + return error; } - (void)startupLogging