diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/basic/fs-util.c | 8 |
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); |