bug 1397471 - nsNSSCertificateDB::GetCerts needs to wait until the loadable roots have been loaded r?Cykesiopka draft
authorDavid Keeler <dkeeler@mozilla.com>
Wed, 06 Sep 2017 14:29:17 -0700
changeset 660319 74b9f2c9399dbf0d1f5f133130bfb74a06827af3
parent 659873 c959327c6b75cd4930a6ea087583c38b805e7524
child 730211 d2f56671682232102f0c0113ae6db8970eaaa74d
push id78375
push userbmo:dkeeler@mozilla.com
push dateWed, 06 Sep 2017 21:31:58 +0000
reviewersCykesiopka
bugs1397471, 1372656
milestone57.0a1
bug 1397471 - nsNSSCertificateDB::GetCerts needs to wait until the loadable roots have been loaded r?Cykesiopka This was missed in the original implementation of bug 1372656. MozReview-Commit-ID: 8Sm26YlxZ7l
security/manager/ssl/nsNSSCertificateDB.cpp
--- a/security/manager/ssl/nsNSSCertificateDB.cpp
+++ b/security/manager/ssl/nsNSSCertificateDB.cpp
@@ -1340,16 +1340,21 @@ nsNSSCertificateDB::SetCertTrustFromStri
 NS_IMETHODIMP
 nsNSSCertificateDB::GetCerts(nsIX509CertList **_retval)
 {
   nsNSSShutDownPreventionLock locker;
   if (isAlreadyShutDown()) {
     return NS_ERROR_NOT_AVAILABLE;
   }
 
+  nsresult rv = BlockUntilLoadableRootsLoaded();
+  if (NS_FAILED(rv)) {
+    return rv;
+  }
+
   nsCOMPtr<nsIInterfaceRequestor> ctx = new PipUIContext();
   nsCOMPtr<nsIX509CertList> nssCertList;
   UniqueCERTCertList certList(PK11_ListCerts(PK11CertListUnique, ctx));
 
   // nsNSSCertList 1) adopts certList, and 2) handles the nullptr case fine.
   // (returns an empty list)
   nssCertList = new nsNSSCertList(Move(certList), locker);