]> git.ipfire.org Git - thirdparty/systemd.git/commitdiff
chase: Fix shortcut 34639/head
authorDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 4 Oct 2024 19:34:33 +0000 (21:34 +0200)
committerDaan De Meyer <daan.j.demeyer@gmail.com>
Fri, 4 Oct 2024 19:34:33 +0000 (21:34 +0200)
We can't shortcut chaseat() if CHASE_PARENT is set.

src/basic/chase.c

index 4576e4b0588919df46b2eb9a5e414e8c1e78bbfe..8eac356665562e8b9120deeef499048ffe8b92a5 100644 (file)
@@ -192,7 +192,7 @@ int chaseat(int dir_fd, const char *path, ChaseFlags flags, char **ret_path, int
 
         if (!(flags &
               (CHASE_AT_RESOLVE_IN_ROOT|CHASE_NONEXISTENT|CHASE_NO_AUTOFS|CHASE_SAFE|CHASE_STEP|
-               CHASE_PROHIBIT_SYMLINKS|CHASE_MKDIR_0755)) &&
+               CHASE_PROHIBIT_SYMLINKS|CHASE_MKDIR_0755|CHASE_PARENT)) &&
             !ret_path && ret_fd) {
 
                 /* Shortcut the ret_fd case if the caller isn't interested in the actual path and has no root