Possible file corruption
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
DC++ |
Fix Released
|
Critical
|
Unassigned |
Bug Description
This bug happens due to following source code:
FilteredFile.h, line 141: flushed = true;
Flushed flag is set to true although file is not flushed at this time. It causes that flushing in DownloadManager
Another problem with same source code is there. When user's HashData is not accessible (e.g. no access to file, file is corrupted etc.) and client can't get tree from such user, it uses only simple kind of verification - by TTH root. It's ok, but because DownloadManager
Possible solution for both problem would be to remove that "flushed = true" line and reset download position when flush fails on download finish (DownloadManage
Related branches
visibility: | public → private |
Changed in dcplusplus: | |
status: | New → Confirmed |
Changed in dcplusplus: | |
status: | In Progress → Fix Committed |
visibility: | private → public |
If its true then this way any potentially dangerous file can be downloaded from a rogue client which responds so it shares eg. a file which has a TTH that is equal to some orginal harmless file. I set this report private until further investigation...