From d35537c19911e94e097033d243c780f289c20449 Mon Sep 17 00:00:00 2001 From: Thomas Waldmann Date: Tue, 10 Oct 2017 01:36:44 +0200 Subject: [PATCH] fix detection of non-local path, fixes #3108 filenames like ..foobar are valid, so, to detect stuff in upper dirs, we need to include the path separator and check if it starts with '../'. (cherry picked from commit 60e924910034b86d3d9c6e9af706e5559cdb4d19) --- src/borg/archive.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/borg/archive.py b/src/borg/archive.py index 4366419cf..3f09ea466 100644 --- a/src/borg/archive.py +++ b/src/borg/archive.py @@ -557,7 +557,7 @@ Utilization of max. archive size: {csize_max:.0%} original_path = original_path or item.path dest = self.cwd - if item.path.startswith(('/', '..')): + if item.path.startswith(('/', '../')): raise Exception('Path should be relative and local') path = os.path.join(dest, item.path) # Attempt to remove existing files, ignore errors on failure