From 3dc92b42fe90c8de7da843d73edae741a3ae01f7 Mon Sep 17 00:00:00 2001 From: Matthias Date: Sat, 28 Sep 2024 09:54:49 +0200 Subject: [PATCH] fix: Check if sub-directories are actually directories and fail otherwise. This will explicitly fail if a file (or an invalid symlink) is present. Freqtrade requires these files to be valid files - so failing here is correct behavior. closes #10720 --- freqtrade/configuration/directory_operations.py | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/freqtrade/configuration/directory_operations.py b/freqtrade/configuration/directory_operations.py index 3e6ed92ed..a904e441c 100644 --- a/freqtrade/configuration/directory_operations.py +++ b/freqtrade/configuration/directory_operations.py @@ -82,6 +82,11 @@ def create_userdata_dir(directory: str, create_dir: bool = False) -> Path: for f in sub_dirs: subfolder = folder / f if not subfolder.is_dir(): + if subfolder.exists(follow_symlinks=False): + raise OperationalException( + f"File `{subfolder}` exists already and is not a directory. " + "Freqtrade requires this to be a directory." + ) subfolder.mkdir(parents=False) return folder