summaryrefslogtreecommitdiff
path: root/www/firefox-esr/files/patch-bug1380706
blob: 5f7e57663145214d26d8ea7c1370b03d7580653d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
commit 10b55207992c
Author: Kai Engert <kaie@kuix.de>
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<nsISupports> 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();