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
--- 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);