From: anton Date: Tue, 24 May 2022 05:14:30 +0000 (+0000) Subject: Recent changes to truncate(2) swapped the ordering of some validations X-Git-Url: http://artulab.com/gitweb/?a=commitdiff_plain;h=760d825b763c6a895d5f192e66fe6c4e0c789a4a;p=openbsd Recent changes to truncate(2) swapped the ordering of some validations causing EACCESS as opposed of ESDIR to be returned while trying to truncate a directory as a user lacking write permissions to the same directory. As this behavior is reasonable, change the truncate directory from /etc/ to /tmp which makes the test pass both as root and non-root. --- diff --git a/regress/lib/libc/sys/t_truncate.c b/regress/lib/libc/sys/t_truncate.c index f952efc35e8..f42494f8db8 100644 --- a/regress/lib/libc/sys/t_truncate.c +++ b/regress/lib/libc/sys/t_truncate.c @@ -1,4 +1,4 @@ -/* $OpenBSD: t_truncate.c,v 1.3 2021/12/13 16:56:48 deraadt Exp $ */ +/* $OpenBSD: t_truncate.c,v 1.4 2022/05/24 05:14:30 anton Exp $ */ /* $NetBSD: t_truncate.c,v 1.3 2017/01/13 20:03:51 christos Exp $ */ /*- @@ -157,7 +157,7 @@ ATF_TC_BODY(truncate_err, tc) ATF_REQUIRE_ERRNO(EFAULT, truncate((void *)-1, 999) == -1); errno = 0; - ATF_REQUIRE_ERRNO(EISDIR, truncate("/etc", 999) == -1); + ATF_REQUIRE_ERRNO(EISDIR, truncate("/tmp", 999) == -1); errno = 0; ATF_REQUIRE_ERRNO(ENOENT, truncate("/a/b/c/d/e/f/g", 999) == -1);