diff options
author | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-31 23:30:26 +0000 |
---|---|---|
committer | wtc@chromium.org <wtc@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2009-07-31 23:30:26 +0000 |
commit | 4ac7e43107e67a7a3b534b5efe9e7791378594f1 (patch) | |
tree | fea97662c22d0559b1fb9ef1cc8997a475ce3c26 /net/url_request/url_request_inet_job.h | |
parent | a287cc480eff74f26d8a3b61e7db432ad42d84dd (diff) | |
download | chromium_src-4ac7e43107e67a7a3b534b5efe9e7791378594f1.zip chromium_src-4ac7e43107e67a7a3b534b5efe9e7791378594f1.tar.gz chromium_src-4ac7e43107e67a7a3b534b5efe9e7791378594f1.tar.bz2 |
Fix a hang if directory listing size is > 8K, for example,
ftp://ftp.mozilla.org/pub/addons/
The problem is that data was spooling on network stack and
after 8K data TCP Window size becomes small and no more
data is received after 8K. The fix is to change the
ERROR_CLASS_INITIATED case in the ProcessResponseLIST
function to not go back to the STATE_CTRL_READ state.
In URLRequestNewFtpJob::ProcessFtpDir. construct the
std::string from buf->data() and its length so that
buf->data() doesn't need to be null-terminated.
Author: Ibrar Ahmed <ibrar.ahmad@gmail.com>
Original review: http://codereview.chromium.org/146137
R=wtc,phajdan.jr
BUG=http://crbug.com/4965
TEST=ftp://ftp.mozilla.org/pub/addons/
Review URL: http://codereview.chromium.org/159663
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@22217 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'net/url_request/url_request_inet_job.h')
0 files changed, 0 insertions, 0 deletions