Changeset 248967 in webkit
- Timestamp:
- Aug 21, 2019 3:17:49 PM (5 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r248966 r248967 1 2019-08-21 Chris Dumez <cdumez@apple.com> 2 3 Crash under StringImpl::endsWith() in RegistrationDatabase::openSQLiteDatabase() 4 https://bugs.webkit.org/show_bug.cgi?id=200991 5 <rdar://problem/54566689> 6 7 Reviewed by Geoffrey Garen. 8 9 Make sure we call isolatedCopy() on RegistrationDatabase::m_databaseDirectory before using 10 it from background threads. 11 12 * workers/service/server/RegistrationDatabase.cpp: 13 (WebCore::RegistrationDatabase::openSQLiteDatabase): 14 (WebCore::RegistrationDatabase::clearAll): 15 * workers/service/server/RegistrationDatabase.h: 16 (WebCore::RegistrationDatabase::databaseDirectory const): 17 1 18 2019-08-21 Alex Christensen <achristensen@webkit.org> 2 19 -
trunk/Source/WebCore/workers/service/server/RegistrationDatabase.cpp
r248846 r248967 131 131 ASSERT(!m_database); 132 132 133 cleanOldDatabases(m_databaseDirectory); 133 auto databaseDirectory = this->databaseDirectory(); 134 cleanOldDatabases(databaseDirectory); 134 135 135 136 LOG(ServiceWorker, "ServiceWorker RegistrationDatabase opening file %s", fullFilename.utf8().data()); … … 151 152 }); 152 153 153 SQLiteFileSystem::ensureDatabaseDirectoryExists( m_databaseDirectory);154 SQLiteFileSystem::ensureDatabaseDirectoryExists(databaseDirectory); 154 155 155 156 m_database = makeUnique<SQLiteDatabase>(); … … 309 310 310 311 SQLiteFileSystem::deleteDatabaseFile(m_databaseFilePath); 311 SQLiteFileSystem::deleteEmptyDatabaseDirectory( m_databaseDirectory);312 SQLiteFileSystem::deleteEmptyDatabaseDirectory(databaseDirectory()); 312 313 313 314 callOnMainThread(WTFMove(completionHandler)); -
trunk/Source/WebCore/workers/service/server/RegistrationDatabase.h
r248668 r248967 60 60 private: 61 61 RegistrationDatabase(RegistrationStore&, String&& databaseDirectory); 62 63 String databaseDirectory() const { return m_databaseDirectory.isolatedCopy(); } 62 64 63 65 void postTaskToWorkQueue(Function<void()>&&);
Note: See TracChangeset
for help on using the changeset viewer.