summaryrefslogtreecommitdiffstats
path: root/net/http/http_network_transaction.cc
diff options
context:
space:
mode:
authorericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-04 19:27:50 +0000
committerericroman@google.com <ericroman@google.com@0039d316-1c4b-4281-b951-d872f2087c98>2008-11-04 19:27:50 +0000
commit431c16ea953a80b9153ba9a8c0b17b07a96f4a24 (patch)
treea80f7c1495904416ee4d4bad8617dc19b730016b /net/http/http_network_transaction.cc
parent9a02ce35a50ff0c4a24121274652cf41a01a04b0 (diff)
downloadchromium_src-431c16ea953a80b9153ba9a8c0b17b07a96f4a24.zip
chromium_src-431c16ea953a80b9153ba9a8c0b17b07a96f4a24.tar.gz
chromium_src-431c16ea953a80b9153ba9a8c0b17b07a96f4a24.tar.bz2
Prevent recycling TCPClientSocket in the case of https, so as not to crash.
The situation this protects against is better explained in comment 13: http://code.google.com/p/chromium/issues/detail?id=3772#c13 Review URL: http://codereview.chromium.org/9088 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4624 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/http/http_network_transaction.cc')
-rw-r--r--net/http/http_network_transaction.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
index cad17af..7beff25 100644
--- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc
@@ -747,8 +747,8 @@ int HttpNetworkTransaction::DoReadBodyComplete(int result) {
done = true;
keep_alive = response_.headers->IsKeepAlive();
// We can't reuse the connection if we read more than the advertised
- // content length.
- if (unfiltered_eof ||
+ // content length, or if the tunnel was not established.
+ if (establishing_tunnel_ || unfiltered_eof ||
(content_length_ != -1 && content_read_ > content_length_))
keep_alive = false;
}