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( |