=================================================================== RCS file: /cvsrepo/anoncvs/cvs/src/usr.bin/rsync/copy.c,v retrieving revision 1.1 retrieving revision 1.2 diff -c -r1.1 -r1.2 *** src/usr.bin/rsync/copy.c 2021/10/22 11:10:34 1.1 --- src/usr.bin/rsync/copy.c 2021/10/24 21:24:17 1.2 *************** *** 1,4 **** ! /* $OpenBSD: copy.c,v 1.1 2021/10/22 11:10:34 claudio Exp $ */ /* * Copyright (c) 2021 Claudio Jeker * --- 1,4 ---- ! /* $OpenBSD: copy.c,v 1.2 2021/10/24 21:24:17 deraadt Exp $ */ /* * Copyright (c) 2021 Claudio Jeker * *************** *** 67,77 **** { int fromfd, tofd, dfd; ! dfd = openat(rootfd, basedir, O_RDONLY | O_DIRECTORY, 0); if (dfd == -1) err(ERR_FILE_IO, "%s: openat", basedir); ! fromfd = openat(dfd, f->path, O_RDONLY | O_NOFOLLOW, 0); if (fromfd == -1) err(ERR_FILE_IO, "%s/%s: openat", basedir, f->path); close(dfd); --- 67,77 ---- { int fromfd, tofd, dfd; ! dfd = openat(rootfd, basedir, O_RDONLY | O_DIRECTORY); if (dfd == -1) err(ERR_FILE_IO, "%s: openat", basedir); ! fromfd = openat(dfd, f->path, O_RDONLY | O_NOFOLLOW); if (fromfd == -1) err(ERR_FILE_IO, "%s/%s: openat", basedir, f->path); close(dfd);