summaryrefslogtreecommitdiff
path: root/sys/lib
diff options
context:
space:
mode:
authorKlemens Nanni <kn@cvs.openbsd.org>2023-04-08 18:12:09 +0000
committerKlemens Nanni <kn@cvs.openbsd.org>2023-04-08 18:12:09 +0000
commitfaabe22890ccf6b338239acb5e7cc199b11c7e58 (patch)
treecb6ec3d9b64bf485bffe2be8229cff052dd6a371 /sys/lib
parentb89546c755f76deea2c3a9e5b9b5b1132fc16eaa (diff)
Return -1 on actual failure
MI boot.c's "a-x" fchmod on bsd.upgrade is the only caller that checks the return value and that call can fail on, e.g. softraid volumes. Stop clobbering the actual fchmod return value and get that warning printed. OK deraadt
Diffstat (limited to 'sys/lib')
-rw-r--r--sys/lib/libsa/fchmod.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/lib/libsa/fchmod.c b/sys/lib/libsa/fchmod.c
index f6252ca9e56..cb204d663fd 100644
--- a/sys/lib/libsa/fchmod.c
+++ b/sys/lib/libsa/fchmod.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: fchmod.c,v 1.2 2021/12/01 17:25:35 kettenis Exp $ */
+/* $OpenBSD: fchmod.c,v 1.3 2023/04/08 18:12:08 kn Exp $ */
/* $NetBSD: stat.c,v 1.3 1994/10/26 05:45:07 cgd Exp $ */
/*-
@@ -59,6 +59,7 @@ fchmod(int fd, mode_t m)
return (-1);
}
- errno = (f->f_ops->fchmod)(f, m);
+ if ((errno = (f->f_ops->fchmod)(f, m)))
+ return (-1);
return (0);
}