diff --git a/dom/indexedDB/ActorsParent.cpp b/dom/indexedDB/ActorsParent.cpp index fb18c1f96aa1..f051bb08129b 100644 --- a/dom/indexedDB/ActorsParent.cpp +++ b/dom/indexedDB/ActorsParent.cpp @@ -9451,7 +9451,7 @@ nsresult DatabaseConnection::CommitWriteTransaction() { void DatabaseConnection::RollbackWriteTransaction() { AssertIsOnConnectionThread(); MOZ_ASSERT(!mInReadTransaction); - MOZ_ASSERT(mStorageConnection); + MOZ_DIAGNOSTIC_ASSERT(mStorageConnection); AUTO_PROFILER_LABEL("DatabaseConnection::RollbackWriteTransaction", DOM); @@ -10063,6 +10063,13 @@ nsresult DatabaseConnection::AutoSavepoint::Start( MOZ_ASSERT(connection); connection->AssertIsOnConnectionThread(); + // This is just a quick fix for preventing accessing the nullptr. The cause is + // probably because the connection was unexpectedly closed. + if (!connection->GetUpdateRefcountFunction()) { + NS_WARNING("The connection was closed for some reasons!"); + return NS_ERROR_DOM_INDEXEDDB_UNKNOWN_ERR; + } + MOZ_ASSERT(!mConnection); MOZ_ASSERT(!mDEBUGTransaction);