| 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; | 
| } | 
| } | 
|  | 
|  |