| Index: ppapi/shared_impl/private/tcp_socket_private_impl.cc
|
| diff --git a/ppapi/shared_impl/private/tcp_socket_private_impl.cc b/ppapi/shared_impl/private/tcp_socket_private_impl.cc
|
| index c37940ba698826da3403e380292f9e875cc02581..a23066c44fbfb05f7859f45ed6761a6e45cdc490 100644
|
| --- a/ppapi/shared_impl/private/tcp_socket_private_impl.cc
|
| +++ b/ppapi/shared_impl/private/tcp_socket_private_impl.cc
|
| @@ -264,8 +264,12 @@ void TCPSocketPrivateImpl::OnSSLHandshakeCompleted(
|
| certificate_fields);
|
| TrackedCallback::ClearAndRun(&ssl_handshake_callback_, PP_OK);
|
| } else {
|
| + // The resource might be released in the callback so we need to hold
|
| + // a reference so we can Disconnect() first.
|
| + AddRef();
|
| TrackedCallback::ClearAndRun(&ssl_handshake_callback_, PP_ERROR_FAILED);
|
| Disconnect();
|
| + Release();
|
| }
|
| }
|
|
|
|
|