From 96b68914c2667e94a5632d9f4081374f676ae9ae Mon Sep 17 00:00:00 2001 From: Dogan Altinbas Date: Tue, 7 May 2024 23:04:20 +0200 Subject: [PATCH] Improve Usage of SQLITE_OPEN_FILEPROTECTION_NONE in FIRMessagingRmqManager.m (#12909) --- .../Sources/FIRMessagingRmqManager.m | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/FirebaseMessaging/Sources/FIRMessagingRmqManager.m b/FirebaseMessaging/Sources/FIRMessagingRmqManager.m index ad66dcea2ce..fbc9dd04dc4 100644 --- a/FirebaseMessaging/Sources/FIRMessagingRmqManager.m +++ b/FirebaseMessaging/Sources/FIRMessagingRmqManager.m @@ -490,9 +490,11 @@ - (void)openDatabase { BOOL didOpenDatabase = YES; if (![fileManager fileExistsAtPath:path]) { // We've to separate between different versions here because of backwards compatbility issues. - int result = sqlite3_open_v2( - [path UTF8String], &self -> _database, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FILEPROTECTION_NONE, NULL); + int flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE; +#ifdef SQLITE_OPEN_FILEPROTECTION_NONE + flags |= SQLITE_OPEN_FILEPROTECTION_NONE; +#endif + int result = sqlite3_open_v2([path UTF8String], &self -> _database, flags, NULL); if (result != SQLITE_OK) { NSString *errorString = FIRMessagingStringFromSQLiteResult(result); NSString *errorMessage = [NSString @@ -509,9 +511,11 @@ - (void)openDatabase { [self createTableWithName:kTableS2DRmqIds command:kCreateTableS2DRmqIds]; } else { // Calling sqlite3_open should create the database, since the file doesn't exist. - int result = sqlite3_open_v2( - [path UTF8String], &self -> _database, - SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE | SQLITE_OPEN_FILEPROTECTION_NONE, NULL); + int flags = SQLITE_OPEN_READWRITE | SQLITE_OPEN_CREATE; +#ifdef SQLITE_OPEN_FILEPROTECTION_NONE + flags |= SQLITE_OPEN_FILEPROTECTION_NONE; +#endif + int result = sqlite3_open_v2([path UTF8String], &self -> _database, flags, NULL); if (result != SQLITE_OK) { NSString *errorString = FIRMessagingStringFromSQLiteResult(result); NSString *errorMessage =