diff --git a/src/basic/fs-util.c b/src/basic/fs-util.c index f0df79d8ff..cb56e03d15 100644 --- a/src/basic/fs-util.c +++ b/src/basic/fs-util.c @@ -673,8 +673,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);