From eeea0473e34096543303402a14cfd23514975d22 Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Wed, 22 Nov 2017 13:18:50 +0100 Subject: manifest: Forbid backslash in paths too --- gemato/manifest.py | 2 +- tests/test_manifest.py | 5 +++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/gemato/manifest.py b/gemato/manifest.py index b54674f..2739af4 100644 --- a/gemato/manifest.py +++ b/gemato/manifest.py @@ -55,7 +55,7 @@ class ManifestPathEntry(object): """ __slots__ = ['path'] - disallowed_path_re = re.compile(r'[\0\s]', re.U) + disallowed_path_re = re.compile(r'[\0\s\\]', re.U) def __init__(self, path): assert path[0] != '/' diff --git a/tests/test_manifest.py b/tests/test_manifest.py index 9995996..d9d8c08 100644 --- a/tests/test_manifest.py +++ b/tests/test_manifest.py @@ -443,3 +443,8 @@ class NewManifestEntryTest(unittest.TestCase): self.assertRaises(gemato.exceptions.ManifestInvalidFilename, gemato.manifest.new_manifest_entry, 'DATA', u'tes\0t', 32, {}), + + def test_backslash_in_filename(self): + self.assertRaises(gemato.exceptions.ManifestInvalidFilename, + gemato.manifest.new_manifest_entry, 'DATA', + u'tes\\t', 32, {}), -- cgit v1.2.3