summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/ftp/ftp_network_transaction.cc4
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);
}