From: Yu Watanabe Date: Mon, 28 Jul 2025 18:36:36 +0000 (+0900) Subject: conf-files: CHASE_MUST_BE_DIRECTORY can be set with CHASE_NONEXISTENT X-Git-Tag: v258-rc2~55^2 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=580643a47f18db6f3e6cd44b48c10e21ad439839;p=thirdparty%2Fsystemd.git conf-files: CHASE_MUST_BE_DIRECTORY can be set with CHASE_NONEXISTENT With the previous commit, now CHASE_MUST_BE_DIRECTORY can be set with CHASE_NONEXISTENT. Let's unconditionally set the flag to chase the directory part of the conf file. --- diff --git a/src/basic/conf-files.c b/src/basic/conf-files.c index b1b0c746376..c00325f2e44 100644 --- a/src/basic/conf-files.c +++ b/src/basic/conf-files.c @@ -145,7 +145,9 @@ int conf_file_new_at(const char *path, int rfd, ChaseFlags chase_flags, ConfFile return log_debug_errno(r, "Failed to extract directory from '%s': %m", path); if (r >= 0) { r = chaseat(rfd, dirpath, - CHASE_AT_RESOLVE_IN_ROOT | (FLAGS_SET(chase_flags, CHASE_NONEXISTENT) ? CHASE_NONEXISTENT : CHASE_MUST_BE_DIRECTORY), + CHASE_AT_RESOLVE_IN_ROOT | + CHASE_MUST_BE_DIRECTORY | + (FLAGS_SET(chase_flags, CHASE_NONEXISTENT) ? CHASE_NONEXISTENT : 0), &resolved_dirpath, /* ret_fd = */ NULL); if (r < 0) return log_debug_errno(r, "Failed to chase '%s%s': %m", empty_to_root(root), skip_leading_slash(dirpath));