summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/basic/fs-util.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/src/basic/fs-util.c b/src/basic/fs-util.c
index bbc464e31..bd7e3db64 100644
--- a/src/basic/fs-util.c
+++ b/src/basic/fs-util.c
@@ -688,8 +688,14 @@ int chase_symlinks(const char *path, const char *original_root, unsigned flags,
if (r < 0)
return r;
- if (flags & CHASE_PREFIX_ROOT)
+ if (flags & CHASE_PREFIX_ROOT) {
+
+ /* We don't support relative paths in combination with a root directory */
+ if (!path_is_absolute(path))
+ return -EINVAL;
+
path = prefix_roota(root, path);
+ }
}
r = path_make_absolute_cwd(path, &buffer);