summaryrefslogtreecommitdiffstats
path: root/remoting/jingle_glue
diff options
context:
space:
mode:
authordmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-18 00:02:06 +0000
committerdmaclach@chromium.org <dmaclach@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-09-18 00:02:06 +0000
commit47a8b6c8064f98626e0a5989cabd867c8fe93013 (patch)
tree53b5deeaba8169f89062db310de9d33f94332188 /remoting/jingle_glue
parentdb660cbed1bd8d667b163903bf717f824ddc63f9 (diff)
downloadchromium_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.h6
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_;