summaryrefslogtreecommitdiffstats
path: root/lib/libutil
diff options
context:
space:
mode:
authorbapt <bapt@FreeBSD.org>2012-11-20 14:03:09 +0000
committerbapt <bapt@FreeBSD.org>2012-11-20 14:03:09 +0000
commit2ed31d29a136b086906cadaedceedd82398b9e7b (patch)
tree759323190678fc7dbcbca7ab1c6ddb86f28030ed /lib/libutil
parent25dd09b99661e08017f7e5059f2aaa0a95cb0e65 (diff)
downloadFreeBSD-src-2ed31d29a136b086906cadaedceedd82398b9e7b.zip
FreeBSD-src-2ed31d29a136b086906cadaedceedd82398b9e7b.tar.gz
only rename(2) after chmod(2) has succeed
report error if chmod(2) fails Reported by: jh
Diffstat (limited to 'lib/libutil')
-rw-r--r--lib/libutil/gr_util.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/lib/libutil/gr_util.c b/lib/libutil/gr_util.c
index 8d0490b..be34395 100644
--- a/lib/libutil/gr_util.c
+++ b/lib/libutil/gr_util.c
@@ -318,14 +318,10 @@ gr_copy(int ffd, int tfd, const struct group *gr, struct group *old_gr)
int
gr_mkdb(void)
{
- int ret;
-
- ret = rename(tempname, group_file);
-
- if (ret == 0)
- chmod(group_file, 0644);
+ if (chmod(tempname, 0644) != 0)
+ return (-1);
- return (ret);
+ return (rename(tempname, group_file));
}
/*
OpenPOWER on IntegriCloud