From bda2fd94e3ba8ad0d4994904217f3ac58fc3441b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gina=20H=C3=A4u=C3=9Fge?= Date: Tue, 6 Jun 2017 10:01:21 +0200 Subject: [PATCH] More hardening against expected folders being files See #1953 --- src/octoprint/settings.py | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/octoprint/settings.py b/src/octoprint/settings.py index 6412b7ec..0e525274 100644 --- a/src/octoprint/settings.py +++ b/src/octoprint/settings.py @@ -1314,11 +1314,14 @@ class Settings(object): if folder is None: folder = self._get_default_folder(type) - if not os.path.isdir(folder): + if not os.path.exists(folder): if create: os.makedirs(folder) else: - raise IOError("No such folder: {folder}".format(folder=folder)) + raise IOError("No such folder: {}".format(folder)) + elif os.path.isfile(folder): + # hardening against misconfiguration, see #1953 + raise IOError("Expected a folder at {} but found a file instead".format(folder)) return folder