diff options
-rw-r--r-- | net/ftp/ftp_network_transaction.cc | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/net/ftp/ftp_network_transaction.cc b/net/ftp/ftp_network_transaction.cc index 212ec26..c5c9daf 100644 --- a/net/ftp/ftp_network_transaction.cc +++ b/net/ftp/ftp_network_transaction.cc @@ -981,6 +981,10 @@ int FtpNetworkTransaction::DoDataRead() { DCHECK_GT(read_data_buf_len_, 0); if (data_socket_ == NULL || !data_socket_->IsConnected()) { + // If we don't destroy the data socket completely, some servers will wait + // for us (http://crbug.com/21127). + data_socket_.reset(); + // No more data so send QUIT Command now and wait for response. return Stop(OK); } |