| Index: net/cert/cert_verify_proc_win.cc
|
| diff --git a/net/cert/cert_verify_proc_win.cc b/net/cert/cert_verify_proc_win.cc
|
| index ef334da0ae464bfa88bfdd804d702aa02b06e2c3..a9d90df87f052b882c05fe4a6929cacd6f151c9a 100644
|
| --- a/net/cert/cert_verify_proc_win.cc
|
| +++ b/net/cert/cert_verify_proc_win.cc
|
| @@ -369,8 +369,12 @@ void GetCertChainInfo(PCCERT_CHAIN_CONTEXT chain_context,
|
| // Add the root certificate, if present, as it was not added above.
|
| if (has_root_ca)
|
| verified_chain.push_back(element[num_elements]->pCertContext);
|
| - verify_result->verified_cert =
|
| - X509Certificate::CreateFromHandle(verified_cert, verified_chain);
|
| + scoped_refptr<X509Certificate> verified_cert_with_chain =
|
| + X509Certificate::CreateFromHandle(verified_cert, verified_chain);
|
| + if (verified_cert_with_chain)
|
| + verify_result->verified_cert = std::move(verified_cert_with_chain);
|
| + else
|
| + verify_result->cert_status |= CERT_STATUS_INVALID;
|
| }
|
| }
|
|
|
|
|