Index: net/socket/websocket_transport_client_socket_pool.cc |
diff --git a/net/socket/websocket_transport_client_socket_pool.cc b/net/socket/websocket_transport_client_socket_pool.cc |
index 648652040ef2b84f89d96a2756ed8f1f69697a12..15ec028cb18a665f7518a339e73bb7ab33ed7f18 100644 |
--- a/net/socket/websocket_transport_client_socket_pool.cc |
+++ b/net/socket/websocket_transport_client_socket_pool.cc |
@@ -261,7 +261,10 @@ WebSocketTransportClientSocketPool::~WebSocketTransportClientSocketPool() { |
void WebSocketTransportClientSocketPool::UnlockEndpoint( |
ClientSocketHandle* handle) { |
DCHECK(handle->is_initialized()); |
- WebSocketEndpointLockManager::GetInstance()->UnlockSocket(handle->socket()); |
+ DCHECK(handle->socket()); |
+ IPEndPoint address; |
+ if (handle->socket()->GetPeerAddress(&address) == OK) |
+ WebSocketEndpointLockManager::GetInstance()->UnlockEndpoint(address); |
} |
int WebSocketTransportClientSocketPool::RequestSocket( |