From: Darren Tucker Date: Wed, 27 Mar 2019 22:26:14 +0000 (+1100) Subject: Only use O_NOFOLLOW in utimensat if defined. X-Git-Tag: V_8_0_P1~14 X-Git-Url: http://git.ipfire.org/gitweb/?a=commitdiff_plain;h=f5abb05f8c7358dacdcb866fe2813f6d8efd5830;p=thirdparty%2Fopenssh-portable.git Only use O_NOFOLLOW in utimensat if defined. Fixes build on systems that don't have it (Solaris <=9) Found by Tom G. Christensen. --- diff --git a/openbsd-compat/bsd-misc.c b/openbsd-compat/bsd-misc.c index d3a41df50..3c85a12a6 100644 --- a/openbsd-compat/bsd-misc.c +++ b/openbsd-compat/bsd-misc.c @@ -143,8 +143,10 @@ utimensat(int fd, const char *path, const struct timespec times[2], # ifndef HAVE_FUTIMES return utimes(path, tv); # else +# ifdef O_NOFOLLOW if (flag & AT_SYMLINK_NOFOLLOW) oflags |= O_NOFOLLOW; +# endif /* O_NOFOLLOW */ if ((fd = open(path, oflags)) == -1) return -1; ret = futimes(fd, tv);