]> git.ipfire.org Git - thirdparty/systemd.git/blobdiff - src/basic/chase.c
chase: add CHASE_AT_RESOLVE_IN_ROOT only when it is necessary
[thirdparty/systemd.git] / src / basic / chase.c
index 7b7664096f78abce9b5f969528b47e3b82871dc4..00c2f74e927ac90ca381e3b4633d296559f9dd24 100644 (file)
@@ -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;