summaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authormmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-14 08:49:04 +0000
committermmenke@chromium.org <mmenke@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2014-06-14 08:49:04 +0000
commit0aff0d8a472703e2e90d09336e5e188dd5a3ad5b (patch)
tree0fa4f3ae1ac57078a2231777e42b7fc98b5e0a29 /net
parentce6362015cb0fd9ed266caa3cc49045343ff9101 (diff)
downloadchromium_src-0aff0d8a472703e2e90d09336e5e188dd5a3ad5b.zip
chromium_src-0aff0d8a472703e2e90d09336e5e188dd5a3ad5b.tar.gz
chromium_src-0aff0d8a472703e2e90d09336e5e188dd5a3ad5b.tar.bz2
HttpNetworkTransaction: Fix dereferencing NULL pointer.
This only happens when an HttpStream returns OK to the read headers callback, but no headers are actually received. It appears that SPDY is the only thing that does this. This behavior should probably be investigated as well. BUG=384554 Review URL: https://codereview.chromium.org/330933003 git-svn-id: svn://svn.chromium.org/chrome/trunk/src@277211 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net')
-rw-r--r--net/http/http_network_transaction.cc3
1 files changed, 2 insertions, 1 deletions
diff --git a/net/http/http_network_transaction.cc b/net/http/http_network_transaction.cc
index 493adad..32af2dd 100644
--- a/net/http/http_network_transaction.cc
+++ b/net/http/http_network_transaction.cc
@@ -990,7 +990,8 @@ int HttpNetworkTransaction::DoReadHeadersComplete(int result) {
// On a 408 response from the server ("Request Timeout") on a stale socket,
// retry the request.
- if (response_.headers->response_code() == 408 &&
+ // Headers can be NULL because of http://crbug.com/384554.
+ if (response_.headers.get() && response_.headers->response_code() == 408 &&
stream_->IsConnectionReused()) {
net_log_.AddEventWithNetErrorCode(
NetLog::TYPE_HTTP_TRANSACTION_RESTART_AFTER_ERROR,