Add some CHECKs to track down the source of a NULL deref in the SSLClientSocketWin code.

BUG=http://crbug.com/16371
TEST=none

Review URL: http://codereview.chromium.org/155359

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@20415 0039d316-1c4b-4281-b951-d872f2087c98
Esse commit está contido em:
willchan@chromium.org
2009-07-10 21:03:17 +00:00
commit 44f360feae
2 arquivos alterados com 13 adições e 0 exclusões
+9
Ver Arquivo
@@ -354,6 +354,11 @@ int HttpNetworkTransaction::Read(IOBuffer* buf, int buf_len,
return ERR_TUNNEL_CONNECTION_FAILED; return ERR_TUNNEL_CONNECTION_FAILED;
} }
// http://crbug.com/16371: We're seeing |user_buf_->data()| return NULL.
// See if the user is passing in an IOBuffer with a NULL |data_|.
CHECK(buf);
CHECK(buf->data());
read_buf_ = buf; read_buf_ = buf;
read_buf_len_ = buf_len; read_buf_len_ = buf_len;
@@ -812,6 +817,10 @@ int HttpNetworkTransaction::DoReadHeaders() {
int buf_len = header_buf_capacity_ - header_buf_len_; int buf_len = header_buf_capacity_ - header_buf_len_;
header_buf_->set_data(header_buf_len_); header_buf_->set_data(header_buf_len_);
// http://crbug.com/16371: We're seeing |user_buf_->data()| return NULL.
// See if the user is passing in an IOBuffer with a NULL |data_|.
CHECK(header_buf_->data());
return http_stream_->Read(header_buf_, buf_len, &io_callback_); return http_stream_->Read(header_buf_, buf_len, &io_callback_);
} }
+4
Ver Arquivo
@@ -543,6 +543,10 @@ int SSLClientSocketWin::Read(IOBuffer* buf, int buf_len,
} }
DCHECK(!user_buf_); DCHECK(!user_buf_);
// http://crbug.com/16371: We're seeing |buf->data()| return NULL. See if the
// user is passing in an IOBuffer with a NULL |data_|.
CHECK(buf);
CHECK(buf->data());
user_buf_ = buf; user_buf_ = buf;
user_buf_len_ = buf_len; user_buf_len_ = buf_len;