Skip to content
This repository has been archived by the owner on Apr 26, 2021. It is now read-only.

Executing 'cuckoo clean' will delete directories that symlinks point to #3090

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

soutzis
Copy link

@soutzis soutzis commented Aug 17, 2020

What I have added/changed is:

One line of code.

  • The real path of the directory (whether it is a regular directory or just a soft link that points to another directory) is retrieved first and any files/directories will recursively be deleted afterwards.
The goal of my change is:

Enhancement closes #3086

Consider that there were more samples to be analysed than what was originally calculated and the drive of CWD is low on space. A simple solution would be to use a symlink for all analyses to be stored on a secondary drive. However, when using $ cuckoo clean, if one of the directories under $CWD/storage/ is a soft-link, then an exception will be thrown and the directory (and its contents) that the soft-link points to will not be deleted.

By retrieving the real path of the directory before calling shutils.rmtree(), this problem is easily solved and everything works as expected.

What I have tested about my change is:

Before the change:
image

After the change:
image

When using `cuckoo clean`, if one of the directories under `$CWD/storage/` is a symlink, then an exception will be thrown and the files/directories that the symlink points to will not be deleted.

The change here is one line of code and what it does is: 

- The real path of the directory (whether a regular dir or a soft link) is retrieved first and any files/directories will recursively be deleted afterwards.
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Using 'cuckoo clean' will not remove any files that symlinks point to
1 participant