| Index: net/cert/multi_threaded_cert_verifier.cc
|
| diff --git a/net/cert/multi_threaded_cert_verifier.cc b/net/cert/multi_threaded_cert_verifier.cc
|
| index 432dda059e55aafd18533ea7c161a6308fc17ddf..f89454dad5587e6803ee5b6cdbe801a26abbfdee 100644
|
| --- a/net/cert/multi_threaded_cert_verifier.cc
|
| +++ b/net/cert/multi_threaded_cert_verifier.cc
|
| @@ -204,7 +204,7 @@ class CertVerifierWorker {
|
|
|
| // Returns the certificate being verified. May only be called /before/
|
| // Start() is called.
|
| - X509Certificate* certificate() const { return cert_; }
|
| + X509Certificate* certificate() const { return cert_.get(); }
|
|
|
| bool Start() {
|
| DCHECK_EQ(base::MessageLoop::current(), origin_loop_);
|
| @@ -225,8 +225,12 @@ class CertVerifierWorker {
|
| private:
|
| void Run() {
|
| // Runs on a worker thread.
|
| - error_ = verify_proc_->Verify(cert_, hostname_, flags_, crl_set_,
|
| - additional_trust_anchors_, &verify_result_);
|
| + error_ = verify_proc_->Verify(cert_.get(),
|
| + hostname_,
|
| + flags_,
|
| + crl_set_.get(),
|
| + additional_trust_anchors_,
|
| + &verify_result_);
|
| #if defined(USE_NSS) || defined(OS_IOS)
|
| // Detach the thread from NSPR.
|
| // Calling NSS functions attaches the thread to NSPR, which stores
|
| @@ -250,8 +254,11 @@ class CertVerifierWorker {
|
| // memory leaks or worse errors.
|
| base::AutoLock locked(lock_);
|
| if (!canceled_) {
|
| - cert_verifier_->HandleResult(cert_, hostname_, flags_,
|
| - additional_trust_anchors_, error_,
|
| + cert_verifier_->HandleResult(cert_.get(),
|
| + hostname_,
|
| + flags_,
|
| + additional_trust_anchors_,
|
| + error_,
|
| verify_result_);
|
| }
|
| }
|
| @@ -448,8 +455,13 @@ int MultiThreadedCertVerifier::Verify(X509Certificate* cert,
|
| } else {
|
| // Need to make a new request.
|
| CertVerifierWorker* worker =
|
| - new CertVerifierWorker(verify_proc_, cert, hostname, flags, crl_set,
|
| - additional_trust_anchors, this);
|
| + new CertVerifierWorker(verify_proc_.get(),
|
| + cert,
|
| + hostname,
|
| + flags,
|
| + crl_set,
|
| + additional_trust_anchors,
|
| + this);
|
| job = new CertVerifierJob(
|
| worker,
|
| BoundNetLog::Make(net_log.net_log(), NetLog::SOURCE_CERT_VERIFIER_JOB));
|
|
|