Index: net/socket/client_socket_pool_base.cc |
diff --git a/net/socket/client_socket_pool_base.cc b/net/socket/client_socket_pool_base.cc |
index 86ba2dd47212c94da9f2816ba22dbdbd7be52909..816ecc97c456500f8a9543306c9ab6e9e43bc333 100644 |
--- a/net/socket/client_socket_pool_base.cc |
+++ b/net/socket/client_socket_pool_base.cc |
@@ -341,8 +341,12 @@ int ClientSocketPoolBaseHelper::RequestSocketInternal( |
group->AddJob(connect_job.release()); |
} else { |
LogBoundConnectJobToRequest(connect_job->net_log().source(), request); |
- connect_job->GetAdditionalErrorState(handle); |
- ClientSocket* error_socket = connect_job->ReleaseSocket(); |
+ ClientSocket* error_socket = NULL; |
+ if (!preconnecting) { |
+ DCHECK(handle); |
+ connect_job->GetAdditionalErrorState(handle); |
+ error_socket = connect_job->ReleaseSocket(); |
+ } |
if (error_socket) { |
HandOutSocket(error_socket, false /* not reused */, handle, |
base::TimeDelta(), group, request->net_log()); |