Skip to content

Commit 6f88f63

Browse files
authored
Merge pull request #252 from MVrachev/fix-failing-tuf-tests
Throw exception on empty filepath in create_folder
2 parents 22a3c4e + adf5d39 commit 6f88f63

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

securesystemslib/storage.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -254,10 +254,6 @@ def getsize(self, filepath):
254254

255255

256256
def create_folder(self, filepath):
257-
# If called with an empty string, return immediately
258-
if not filepath:
259-
return
260-
261257
try:
262258
os.makedirs(filepath)
263259
except OSError as e:
@@ -266,6 +262,9 @@ def create_folder(self, filepath):
266262
# silently ignore.
267263
if e.errno == errno.EEXIST:
268264
pass
265+
elif e.errno == errno.ENOENT and not filepath:
266+
raise securesystemslib.exceptions.StorageError(
267+
"Can't create a folder with an empty filepath!")
269268
else:
270269
raise securesystemslib.exceptions.StorageError(
271270
"Can't create folder at %s" % filepath)

tests/test_storage.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,6 +65,9 @@ def test_exceptions(self):
6565
self.assertRaises(securesystemslib.exceptions.StorageError,
6666
self.storage_backend.create_folder, '/none/existent/path')
6767

68+
self.assertRaises(securesystemslib.exceptions.StorageError,
69+
self.storage_backend.create_folder, '')
70+
6871
self.assertRaises(securesystemslib.exceptions.StorageError,
6972
self.storage_backend.list_folder, '/none/existent/path')
7073

@@ -97,6 +100,3 @@ def test_folders(self):
97100
fi.write(leaf.encode('utf-8'))
98101
found_leaves = self.storage_backend.list_folder(folder)
99102
self.assertListEqual(leaves, sorted(found_leaves))
100-
101-
# Test trying to create a folder with an empty string
102-
self.storage_backend.create_folder('')

0 commit comments

Comments
 (0)