Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(168)

Unified Diff: net/cert/nss_cert_database.cc

Issue 2760723002: Check X509Certificate::CreateFromHandle result. (Closed)
Patch Set: 2nd round of updates Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: net/cert/nss_cert_database.cc
diff --git a/net/cert/nss_cert_database.cc b/net/cert/nss_cert_database.cc
index 4490daf5b53b58fbfc32909a5fe6b7b030bcd2cb..2b90e008f29df86f8ee2a46d08e6fb6f57c9ca39 100644
--- a/net/cert/nss_cert_database.cc
+++ b/net/cert/nss_cert_database.cc
@@ -420,8 +420,13 @@ void NSSCertDatabase::ListCertsImpl(crypto::ScopedPK11Slot slot,
CERTCertListNode* node;
for (node = CERT_LIST_HEAD(cert_list); !CERT_LIST_END(node, cert_list);
node = CERT_LIST_NEXT(node)) {
- certs->push_back(X509Certificate::CreateFromHandle(
- node->cert, X509Certificate::OSCertHandles()));
+ scoped_refptr<X509Certificate> cert = X509Certificate::CreateFromHandle(
+ node->cert, X509Certificate::OSCertHandles());
+ if (!cert) {
+ LOG(ERROR) << "X509Certificate::CreateFromHandle failed";
+ continue;
+ }
+ certs->push_back(cert);
}
CERT_DestroyCertList(cert_list);
}

Powered by Google App Engine
This is Rietveld 408576698