diff options
author | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-18 00:02:06 +0000 |
---|---|---|
committer | dmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-09-18 00:02:06 +0000 |
commit | 47a8b6c8064f98626e0a5989cabd867c8fe93013 (patch) | |
tree | 53b5deeaba8169f89062db310de9d33f94332188 /remoting/jingle_glue | |
parent | db660cbed1bd8d667b163903bf717f824ddc63f9 (diff) | |
download | chromium_src-47a8b6c8064f98626e0a5989cabd867c8fe93013.zip chromium_src-47a8b6c8064f98626e0a5989cabd867c8fe93013.tar.gz chromium_src-47a8b6c8064f98626e0a5989cabd867c8fe93013.tar.bz2 |
Merge 100258 - Fix destruction order in SSLSocketAdapter.
SSLClientSocket must be destroyed before CertVerifier. Otherwise
CertVerifierJist::DeleteAllCancelled() may DCHECK when closing XMPP
connection.
TEST=Host doesn't crash when destroying connection.
BUG=94105
Review URL: http://codereview.chromium.org/7861003
TBR=sergeyu@chromium.org
Review URL: http://codereview.chromium.org/7935008
git-svn-id: svn://svn.chromium.org/chrome/branches/874/src@101668 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'remoting/jingle_glue')
-rw-r--r-- | remoting/jingle_glue/ssl_socket_adapter.h | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/remoting/jingle_glue/ssl_socket_adapter.h b/remoting/jingle_glue/ssl_socket_adapter.h index 388bd1c..e990310 100644 --- a/remoting/jingle_glue/ssl_socket_adapter.h +++ b/remoting/jingle_glue/ssl_socket_adapter.h @@ -135,8 +135,12 @@ class SSLSocketAdapter : public talk_base::SSLAdapter { bool ignore_bad_cert_; std::string hostname_; TransportSocket* transport_socket_; - scoped_ptr<net::SSLClientSocket> ssl_socket_; + + // |cert_verifier_| must be defined before |ssl_socket_|, so that + // it's destroyed after |ssl_socket_|. scoped_ptr<net::CertVerifier> cert_verifier_; + scoped_ptr<net::SSLClientSocket> ssl_socket_; + net::CompletionCallbackImpl<SSLSocketAdapter> connected_callback_; net::CompletionCallbackImpl<SSLSocketAdapter> read_callback_; net::CompletionCallbackImpl<SSLSocketAdapter> write_callback_; |