summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pw/pw_nis.c
diff options
context:
space:
mode:
authorasomers <asomers@FreeBSD.org>2016-11-18 22:28:57 +0000
committerasomers <asomers@FreeBSD.org>2016-11-18 22:28:57 +0000
commit99d5e08d9d0e066585a4c9c8efe62d2138514fd2 (patch)
treed107dfe6754a9c9484a4d520137d8b6dc260b913 /usr.sbin/pw/pw_nis.c
parent01d99faedd3455353cd536056c4aeb3f97086cc0 (diff)
downloadFreeBSD-src-99d5e08d9d0e066585a4c9c8efe62d2138514fd2.zip
FreeBSD-src-99d5e08d9d0e066585a4c9c8efe62d2138514fd2.tar.gz
MFC r307752
Close some file descriptor leaks in pw
Diffstat (limited to 'usr.sbin/pw/pw_nis.c')
-rw-r--r--usr.sbin/pw/pw_nis.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/usr.sbin/pw/pw_nis.c b/usr.sbin/pw/pw_nis.c
index 6cc361b..35b26ea 100644
--- a/usr.sbin/pw/pw_nis.c
+++ b/usr.sbin/pw/pw_nis.c
@@ -34,6 +34,7 @@ static const char rcsid[] =
#include <err.h>
#include <pwd.h>
#include <libutil.h>
+#include <unistd.h>
#include "pw.h"
@@ -63,8 +64,10 @@ pw_nisupdate(const char * path, struct passwd * pwd, char const * user)
}
if (pw_copy(pfd, tfd, pw, old_pw) == -1) {
pw_fini();
+ close(tfd);
err(1, "pw_copy()");
}
+ close(tfd);
if (chmod(pw_tempname(), 0644) == -1)
err(1, "chmod()");
if (rename(pw_tempname(), path) == -1)
OpenPOWER on IntegriCloud