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

Unified Diff: net/cert/x509_certificate_win.cc

Issue 2758803003: Make X509Certificate creation fail if X509Certificate::Initialize fails. (Closed)
Patch Set: test updatess 2 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
« no previous file with comments | « net/cert/x509_certificate_unittest.cc ('k') | net/cert/x509_util_nss.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: net/cert/x509_certificate_win.cc
diff --git a/net/cert/x509_certificate_win.cc b/net/cert/x509_certificate_win.cc
index 3414734cc7e1dfc86e6e4f1ff3ec834082482c3c..05eec4e1b1281c135302a52e856f76a981c7d029 100644
--- a/net/cert/x509_certificate_win.cc
+++ b/net/cert/x509_certificate_win.cc
@@ -133,12 +133,14 @@ bool IsCertNameBlobInIssuerList(
} // namespace
-void X509Certificate::Initialize() {
+bool X509Certificate::Initialize() {
DCHECK(cert_handle_);
- subject_.ParseDistinguishedName(cert_handle_->pCertInfo->Subject.pbData,
- cert_handle_->pCertInfo->Subject.cbData);
- issuer_.ParseDistinguishedName(cert_handle_->pCertInfo->Issuer.pbData,
- cert_handle_->pCertInfo->Issuer.cbData);
+ if (!subject_.ParseDistinguishedName(
+ cert_handle_->pCertInfo->Subject.pbData,
+ cert_handle_->pCertInfo->Subject.cbData) ||
+ !issuer_.ParseDistinguishedName(cert_handle_->pCertInfo->Issuer.pbData,
+ cert_handle_->pCertInfo->Issuer.cbData))
+ return false;
valid_start_ = Time::FromFileTime(cert_handle_->pCertInfo->NotBefore);
valid_expiry_ = Time::FromFileTime(cert_handle_->pCertInfo->NotAfter);
@@ -149,6 +151,8 @@ void X509Certificate::Initialize() {
serial_bytes[i] = serial->pbData[serial->cbData - i - 1];
serial_number_ = std::string(
reinterpret_cast<char*>(serial_bytes.get()), serial->cbData);
+
+ return true;
}
bool X509Certificate::GetSubjectAltName(
« no previous file with comments | « net/cert/x509_certificate_unittest.cc ('k') | net/cert/x509_util_nss.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698