Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(26)

Issue 146137: Hang if directory listing size is > 8k (Closed)

Created:
11 years, 6 months ago by ibrar
Modified:
9 years, 7 months ago
CC:
chromium-reviews_googlegroups.com
Visibility:
Public.

Description

[Replaced by http://codereview.chromium.org/159663 ] BUG=4965 R=wtc Description: Hang if directory listing size is > 8K Example = ftp://ftp.mozilla.org/pub/addons/ Problem: Data was spooling on network stack and after 8K data TCP Window size become small and no more data received after 8K.

Patch Set 1 #

Patch Set 2 : '' #

Patch Set 3 : '' #

Total comments: 8

Patch Set 4 : '' #

Total comments: 10

Patch Set 5 : '' #

Unified diffs Side-by-side diffs Delta from patch set Stats (+7 lines, -13 lines) Patch
M net/ftp/ftp_network_transaction.cc View 1 2 3 4 4 chunks +7 lines, -13 lines 0 comments Download

Messages

Total messages: 5 (0 generated)
ibrar
Please review, WTC: After this check-in there is one potential bug of incomplete line. This ...
11 years, 6 months ago (2009-06-26 07:26:42 UTC) #1
wtc
http://codereview.chromium.org/146137/diff/2004/2005 File net/ftp/ftp_network_transaction.cc (right): http://codereview.chromium.org/146137/diff/2004/2005#newcode98 Line 98: // Always read one byte less than the ...
11 years, 6 months ago (2009-06-26 18:45:59 UTC) #2
ibrar
http://codereview.chromium.org/146137/diff/2004/2005 File net/ftp/ftp_network_transaction.cc (right): http://codereview.chromium.org/146137/diff/2004/2005#newcode98 Line 98: // Always read one byte less than the ...
11 years, 5 months ago (2009-07-11 07:58:58 UTC) #3
wtc
http://codereview.chromium.org/146137/diff/2007/2008 File net/ftp/ftp_network_transaction.cc (right): http://codereview.chromium.org/146137/diff/2007/2008#newcode91 Line 91: if (data_socket_ == NULL || !data_socket_->IsConnected()) { This ...
11 years, 5 months ago (2009-07-16 00:10:29 UTC) #4
ibrar
11 years, 5 months ago (2009-07-27 04:49:33 UTC) #5
http://codereview.chromium.org/146137/diff/2007/2008
File net/ftp/ftp_network_transaction.cc (right):

http://codereview.chromium.org/146137/diff/2007/2008#newcode91
Line 91: if (data_socket_ == NULL || !data_socket_->IsConnected()) {
On 2009/07/16 00:10:29, wtc wrote:
> This should be moved into the DoDataRead() function.
> See my comment in DoDataRead below.

Done.

http://codereview.chromium.org/146137/diff/2007/2008#newcode92
Line 92: Stop(OK);  // No more data so send QUIT Command now and wait for
responce.
On 2009/07/16 00:10:29, wtc wrote:
> Typo: responce => response
> 
> Just wanted to make sure you intentionally don't check
> the return value of Stop (because Stop(OK) always returns
> OK).

Done.

http://codereview.chromium.org/146137/diff/2007/2008#newcode96
Line 96: // need to null terminate this string.
On 2009/07/16 00:10:29, wtc wrote:
> Really?  Why do we need to null terminate this string?
> I guess it's because you had
>   DLOG(INFO) << read_data_buf_->data();
> in DoDataReadComplete(().  Since this CL deletes that
> DLOG statement, perhaps we don't need to null terminate
> this string any more?
> 
> The data could be binary data, so it doesn't make sense
> to null terminate it...

We only need a null terminating string when its a directory listing.

http://codereview.chromium.org/146137/diff/2007/2008#newcode865
Line 865: DCHECK(read_data_buf_len_ > 0);
On 2009/07/16 00:10:29, wtc wrote:
> If you set read_data_buf_len_ to buf_len - 1 in Read(),
> you can only DCHECK that read_data_buf_len_ >= 0 here.

Done.

http://codereview.chromium.org/146137/diff/2007/2008#newcode866
Line 866: 
On 2009/07/16 00:10:29, wtc wrote:
> Here you can say
> 
>   if (data_socket_ == NULL || !data_socket_->IsConnected())
>     return Stop(OK);  // No more data so send QUIT Command now and wait for
> response.

Done.

Powered by Google App Engine
This is Rietveld 408576698