commit 10b55207992c Author: Kai Engert Date: Fri Jul 14 15:31:30 2017 +0200 Bug 1380706, PSM should depend on mozStorage, as a workaround for a sqlite3_config race, r=keeler --- security/manager/ssl/nsNSSComponent.cpp | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git security/manager/ssl/nsNSSComponent.cpp security/manager/ssl/nsNSSComponent.cpp index f51f8af47d51..a82c1ed61fba 100644 --- security/manager/ssl/nsNSSComponent.cpp +++ security/manager/ssl/nsNSSComponent.cpp @@ -13,6 +13,7 @@ #include "SharedSSLState.h" #include "cert.h" #include "certdb.h" +#include "mozStorageCID.h" #include "mozilla/ArrayUtils.h" #include "mozilla/Assertions.h" #include "mozilla/Casting.h" @@ -2032,6 +2033,14 @@ nsNSSComponent::Init() return NS_ERROR_NOT_AVAILABLE; } + // To avoid a sqlite3_config race in NSS init, as a workaround for + // bug 730495, we require the storage service to get initialized first. + nsCOMPtr storageService = + do_GetService(MOZ_STORAGE_SERVICE_CONTRACTID); + if (!storageService) { + return NS_ERROR_NOT_AVAILABLE; + } + MOZ_LOG(gPIPNSSLog, LogLevel::Debug, ("Beginning NSS initialization\n")); nsresult rv = InitializePIPNSSBundle();