mirror of
https://github.com/systemd/systemd.git
synced 2024-12-22 17:35:35 +03:00
commit
a407aaa6ff
@ -192,7 +192,7 @@ int chaseat(int dir_fd, const char *path, ChaseFlags flags, char **ret_path, int
|
|||||||
|
|
||||||
if (!(flags &
|
if (!(flags &
|
||||||
(CHASE_AT_RESOLVE_IN_ROOT|CHASE_NONEXISTENT|CHASE_NO_AUTOFS|CHASE_SAFE|CHASE_STEP|
|
(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) {
|
!ret_path && ret_fd) {
|
||||||
|
|
||||||
/* Shortcut the ret_fd case if the caller isn't interested in the actual path and has no root
|
/* Shortcut the ret_fd case if the caller isn't interested in the actual path and has no root
|
||||||
|
@ -5518,6 +5518,8 @@ static int do_copy_files(Context *context, Partition *p, const char *root) {
|
|||||||
return -errno;
|
return -errno;
|
||||||
|
|
||||||
sfd = chase_and_open(*source, arg_copy_source, CHASE_PREFIX_ROOT, O_PATH|O_DIRECTORY|O_CLOEXEC|O_NOCTTY, NULL);
|
sfd = chase_and_open(*source, arg_copy_source, CHASE_PREFIX_ROOT, O_PATH|O_DIRECTORY|O_CLOEXEC|O_NOCTTY, NULL);
|
||||||
|
if (sfd == -ENOTDIR)
|
||||||
|
continue;
|
||||||
if (sfd < 0)
|
if (sfd < 0)
|
||||||
return log_error_errno(sfd, "Failed to open source file '%s%s': %m", strempty(arg_copy_source), *source);
|
return log_error_errno(sfd, "Failed to open source file '%s%s': %m", strempty(arg_copy_source), *source);
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user