summaryrefslogtreecommitdiffstats
path: root/pw/pw_nis.c
diff options
context:
space:
mode:
authorAlan Somers <asomers@FreeBSD.org>2016-10-21 20:17:19 +0000
committerAlan Somers <asomers@FreeBSD.org>2016-10-21 20:17:19 +0000
commiteaf8d4a9d903595d2f3a388ed56fd20b34d9f80b (patch)
tree568796d378b9962fc7a08cba2b8167f797aa4f35 /pw/pw_nis.c
parent677071471e7d81c72fc4e4a71e04441d010611ab (diff)
downloadpw-darwin-eaf8d4a9d903595d2f3a388ed56fd20b34d9f80b.tar.gz
pw-darwin-eaf8d4a9d903595d2f3a388ed56fd20b34d9f80b.zip
Close some file descriptor leaks in pw
MFC after: 4 weeks Sponsored by: Spectra Logic Corp Differential Revision: https://reviews.freebsd.org/D8245
Diffstat (limited to 'pw/pw_nis.c')
-rw-r--r--pw/pw_nis.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/pw/pw_nis.c b/pw/pw_nis.c
index 6cc361b..35b26ea 100644
--- a/pw/pw_nis.c
+++ b/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)