← Back to team overview

linuxdcpp-team team mailing list archive

[Bug 655854] [NEW] DC++ accepts relative path for download directories and it can cause assertion failure and other problems

 

Public bug reported:

#1 finished download directory

While the current DC++ gui (QueueFrame) can handle only absolute path's
starting with <drive>: the lib accepts relative ones for default
download directory setting. The path passes QueueManager::checkTarget
and causes assertion failure in QueueFrame line 457 if you specify
relative or UNC path for default download directory.

#2 unfinished download directory

The setting accepts relative path, too and there's no any further path
check in this case. So the actual path where the unfinished files will
be created (QueueManager::setFile) will be relative to the path the DC++
executable started from (which is not necessarily the program
directory). This can result creation of Incomplete folders in arbitrary
places of the file system and reset of unfininished downloads between
sessions.

Thanks Thor for reporting issue #2 which led to further investigation of
this problem.

** Affects: dcplusplus
     Importance: Medium
         Status: New

-- 
DC++ accepts relative path for download directories and it can cause assertion failure and other problems
https://bugs.launchpad.net/bugs/655854
You received this bug notification because you are a member of
Dcplusplus-team, which is subscribed to DC++.

Status in DC++: New

Bug description:
#1 finished download directory

While the current DC++ gui (QueueFrame) can handle only absolute path's starting with <drive>: the lib accepts relative ones for default download directory setting. The path passes QueueManager::checkTarget and causes assertion failure in QueueFrame line 457 if you specify relative or UNC path for default download directory.

#2 unfinished download directory

The setting accepts relative path, too and there's no any further path check in this case. So the actual path where the unfinished files will be created (QueueManager::setFile) will be relative to the path the DC++ executable started from (which is not necessarily the program directory). This can result creation of Incomplete folders in arbitrary places of the file system and reset of unfininished downloads between sessions.

Thanks Thor for reporting issue #2 which led to further investigation of this problem.





Follow ups

References