Index: base/nss_init.cc |
=================================================================== |
--- base/nss_init.cc (revision 25183) |
+++ base/nss_init.cc (working copy) |
@@ -59,25 +59,26 @@ |
class NSSInitSingleton { |
public: |
NSSInitSingleton() { |
- SECStatus status; |
+ SECStatus status = SECFailure; |
std::string database_dir = GetDefaultConfigDirectory(); |
if (!database_dir.empty()) { |
// Initialize with a persistant database (~/.pki/nssdb). |
// Use "sql:" which can be shared by multiple processes safely. |
status = NSS_InitReadWrite( |
StringPrintf("sql:%s", database_dir.c_str()).c_str()); |
- } else { |
- LOG(WARNING) << "Initialize NSS without using a persistent database " |
- << "(~/.pki/nssdb)."; |
- status = NSS_NoDB_Init("."); |
+ if (status != SECSuccess) { |
+ LOG(ERROR) << "Error initializing NSS with a persistent " |
+ "databases: NSS error code " << PR_GetError(); |
+ } |
} |
if (status != SECSuccess) { |
- char buffer[513] = "Couldn't retrieve error"; |
- PRInt32 err_length = PR_GetErrorTextLength(); |
- if (err_length > 0 && static_cast<size_t>(err_length) < sizeof(buffer)) |
- PR_GetErrorText(buffer); |
- |
- NOTREACHED() << "Error initializing NSS: " << buffer; |
+ LOG(WARNING) << "Initialize NSS without a persistent database " |
+ "(~/.pki/nssdb)."; |
+ status = NSS_NoDB_Init(NULL); |
+ if (status != SECSuccess) { |
+ LOG(ERROR) << "Error initializing NSS without a persistent " |
+ "database: NSS error code " << PR_GetError(); |
+ } |
} |
// If we haven't initialized the password for the NSS databases, |