This is the bug/patch tracker for Rockbox. Click here for more information.
Quick links: Bugs · Patches · Rockbox frontpage
FS#7372 - Rename should fail on invalid userinput.
Attached to Project:
Rockbox
Opened by PaulJam (PaulJam) - Friday, 29 June 2007, 17:41 GMT+2
Last edited by Steve Bavin (pondlife) - Saturday, 09 February 2008, 15:58 GMT+2
Opened by PaulJam (PaulJam) - Friday, 29 June 2007, 17:41 GMT+2
Last edited by Steve Bavin (pondlife) - Saturday, 09 February 2008, 15:58 GMT+2
|
DetailsWhen the user tries to move a directory inside itself by renaming it (e.g. remame directory "test" to "test/test2") then the renaming functionalyty doesn't fail gracefully.
The directory disappears from the filebrowserbrowser in Rockbox and also doesn't appear in the Windows explorer. When running chkdsk it asks to convert lost chains into files and this restores some (useless) files that contain fragments of the previous contents of the folder. Also it is possible to use illegal characters in file- and foldernames. See H300 with version: r13733M-070629 |
This task depends upon
Closed by Steve Bavin (pondlife)
Saturday, 09 February 2008, 15:58 GMT+2
Reason for closing: Fixed
Additional comments about closing: petur fixed the outstanding dircache issue recently.
Saturday, 09 February 2008, 15:58 GMT+2
Reason for closing: Fixed
Additional comments about closing: petur fixed the outstanding dircache issue recently.
But i was still able to reproduce the first issue (moving a directory into itself via renaming) with revision r13811-070707 on a H300.
Wouldn't it be possible to just check the target path if it contains the current path of the directory when renaming?
A similar thing seems to be done when trying to do the same with the cut and paste functions from the context menu. Then it just shows a splash with "paste failed" and no harm is done to the filesystem.
FS#6358: The dircache is updated before a file is actually renamed or removed, making the browser not show things correctly when either fails. It's an easy fix, though.