diff options
author | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-03-30 16:15:19 +0900 |
---|---|---|
committer | Yu Watanabe <watanabe.yu+github@gmail.com> | 2023-03-30 16:29:45 +0900 |
commit | 8bf26bfe26c0563ae66efd8bdfaecfe4f54d6ef0 (patch) | |
tree | 466323b255d001a2739dfd74da2c9490afa95ee3 /src/basic/chase.c | |
parent | e115daa6a8f0cc80591228e4c6f651b9afc66b30 (diff) | |
download | systemd-8bf26bfe26c0563ae66efd8bdfaecfe4f54d6ef0.tar.gz |
chase: add CHASE_AT_RESOLVE_IN_ROOT only when it is necessary
Diffstat (limited to 'src/basic/chase.c')
-rw-r--r-- | src/basic/chase.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/src/basic/chase.c b/src/basic/chase.c index 7b7664096f..00c2f74e92 100644 --- a/src/basic/chase.c +++ b/src/basic/chase.c @@ -539,10 +539,10 @@ int chase( if (fd < 0) return -errno; - flags |= CHASE_AT_RESOLVE_IN_ROOT; - flags &= ~CHASE_PREFIX_ROOT; + if (!empty_or_root(root)) + flags |= CHASE_AT_RESOLVE_IN_ROOT; - r = chaseat(fd, path, flags, ret_path ? &p : NULL, ret_fd ? &pfd : NULL); + r = chaseat(fd, path, flags & ~CHASE_PREFIX_ROOT, ret_path ? &p : NULL, ret_fd ? &pfd : NULL); if (r < 0) return r; |