From 514a9042f8bc894f0d4ec535aa8d750bc78fa377 Mon Sep 17 00:00:00 2001 From: Jeremy Massel <1123407+jkmassel@users.noreply.github.com> Date: Tue, 1 Sep 2026 13:54:34 -0600 Subject: [PATCH] Guard against nil account in createOrUpdateAccountWithAuthToken callback --- WordPress/Classes/Services/AccountService.h | 2 +- WordPress/Classes/Services/AccountService.m | 2 +- WordPress/Classes/Services/WordPressComSyncService.swift | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/WordPress/Classes/Services/AccountService.h b/WordPress/Classes/Services/AccountService.h index d1ea256c9847..8a793f6f9b86 100644 --- a/WordPress/Classes/Services/AccountService.h +++ b/WordPress/Classes/Services/AccountService.h @@ -85,7 +85,7 @@ extern NSNotificationName const WPAccountEmailAndDefaultBlogUpdatedNotification; @param failure A failure block. */ - (void)createOrUpdateAccountWithAuthToken:(NSString *)authToken - success:(void (^)(WPAccount * _Nonnull))success + success:(void (^)(WPAccount * _Nullable))success failure:(void (^)(NSError * _Nonnull))failure; - (NSManagedObjectID *)createOrUpdateAccountWithUserDetails:(RemoteUser *)remoteUser authToken:(NSString *)authToken; diff --git a/WordPress/Classes/Services/AccountService.m b/WordPress/Classes/Services/AccountService.m index 58f0c4887eec..8a669e174e30 100644 --- a/WordPress/Classes/Services/AccountService.m +++ b/WordPress/Classes/Services/AccountService.m @@ -180,7 +180,7 @@ - (WPAccount *)findDefaultAccountCandidateFromAccounts:(NSArray *)allAccounts } - (void)createOrUpdateAccountWithAuthToken:(NSString *)authToken - success:(void (^)(WPAccount * _Nonnull))success + success:(void (^)(WPAccount * _Nullable))success failure:(void (^)(NSError * _Nonnull))failure { WordPressComRestApi *api = [WordPressComRestApi defaultApiWithOAuthToken:authToken userAgent:[WPUserAgent wordPressUserAgent] localeKey:[WordPressComRestApi LocaleKeyDefault]]; diff --git a/WordPress/Classes/Services/WordPressComSyncService.swift b/WordPress/Classes/Services/WordPressComSyncService.swift index 802f7a1c0b18..3aaeca35024b 100644 --- a/WordPress/Classes/Services/WordPressComSyncService.swift +++ b/WordPress/Classes/Services/WordPressComSyncService.swift @@ -24,6 +24,10 @@ class WordPressComSyncService { func syncWPCom(authToken: String, isJetpackLogin: Bool, onSuccess: @escaping (WPAccount) -> Void, onFailure: @escaping (Error) -> Void) { let accountService = AccountService(coreDataStack: coreDataStack) accountService.createOrUpdateAccount(withAuthToken: authToken, success: { account in + guard let account else { + onFailure(URLError(.unknown)) + return + } self.syncOrAssociateBlogs(account: account, isJetpackLogin: isJetpackLogin, onSuccess: onSuccess, onFailure: onFailure) }, failure: { error in onFailure(error)