linuxdcpp-team team mailing list archive
-
linuxdcpp-team team
-
Mailing list archive
-
Message #06495
[Bug 668548] Re: BufferedSocket::setDataMode -> infinite loop
Fixed in DC++ 0.810.
** Changed in: dcplusplus
Status: Fix Committed => Fix Released
--
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.
https://bugs.launchpad.net/bugs/668548
Title:
BufferedSocket::setDataMode -> infinite loop
Status in DC++:
Fix Released
Bug description:
if you call BufferedSocket::setDataMode with value that will be < left
(ie. what is actually read from socket at once) it will go to an
infinite loop, because when dataBytes have been read high will always
end up 0 even if left > 0.
What you, probably, want to do is break after firing ModeChange...
(line 267).
Granted with dcpp's current usage this doesn't never happen afaik... I
stumbled on to this while adding support for chunked transfer encoding
(where the chunk size is often less than the read buffer) to
HttpConnection (to fix another would be bug, if server never sent
Content-Length thus resulting setDataMode being called with -1, and
http connection never properly completing).
To manage notifications about this bug go to:
https://bugs.launchpad.net/dcplusplus/+bug/668548/+subscriptions
References