summaryrefslogtreecommitdiffstats
path: root/usr.sbin/pwd_mkdb
diff options
context:
space:
mode:
authorguido <guido@FreeBSD.org>1998-02-15 22:31:40 +0000
committerguido <guido@FreeBSD.org>1998-02-15 22:31:40 +0000
commitbfe224349b6e7673bc149ec06c50aadf048a3e91 (patch)
tree938dd5c3cbfde6a6da0f3d91f089fe075940ad71 /usr.sbin/pwd_mkdb
parentb5aaf93a530e1426fc8bdc33ece5317b2b551704 (diff)
downloadFreeBSD-src-bfe224349b6e7673bc149ec06c50aadf048a3e91.zip
FreeBSD-src-bfe224349b6e7673bc149ec06c50aadf048a3e91.tar.gz
Check return values of fprintf, fclose (this one is overdone I guess)
and pw_db->close. PR: 4202 (probably, I askd the submitter) Obtained from: OpenBSD
Diffstat (limited to 'usr.sbin/pwd_mkdb')
-rw-r--r--usr.sbin/pwd_mkdb/pwd_mkdb.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/usr.sbin/pwd_mkdb/pwd_mkdb.c b/usr.sbin/pwd_mkdb/pwd_mkdb.c
index 9d8bf63..61217eb 100644
--- a/usr.sbin/pwd_mkdb/pwd_mkdb.c
+++ b/usr.sbin/pwd_mkdb/pwd_mkdb.c
@@ -42,7 +42,7 @@ static const char copyright[] =
static char sccsid[] = "@(#)pwd_mkdb.c 8.5 (Berkeley) 4/20/94";
#endif
static const char rcsid[] =
- "$Id: pwd_mkdb.c,v 1.20 1997/10/10 06:27:07 charnier Exp $";
+ "$Id: pwd_mkdb.c,v 1.21 1998/01/10 17:27:28 wosch Exp $";
#endif /* not lint */
#include <sys/param.h>
@@ -227,7 +227,8 @@ main(argc, argv)
} else {
methoduid = R_NOOVERWRITE;
}
- (void)(pw_db->close)(pw_db);
+ if ((pw_db->close)(pw_db))
+ error("close pw_db");
method = 0;
} else {
dp = dbopen(buf,
@@ -383,7 +384,8 @@ main(argc, argv)
}
/* Create original format password file entry */
if (Cflag && makeold) /* copy comments */
- (void)fprintf(oldfp, "%s\n", line);
+ if (fprintf(oldfp, "%s\n", line) == EOF)
+ error("write old");
else if (makeold) {
char uidstr[20];
char gidstr[20];
@@ -391,10 +393,11 @@ main(argc, argv)
snprintf(uidstr, sizeof(uidstr), "%d", pwd.pw_uid);
snprintf(gidstr, sizeof(gidstr), "%d", pwd.pw_gid);
- (void)fprintf(oldfp, "%s:*:%s:%s:%s:%s:%s\n",
+ if (fprintf(oldfp, "%s:*:%s:%s:%s:%s:%s\n",
pwd.pw_name, pwd.pw_fields & _PWF_UID ? uidstr : "",
pwd.pw_fields & _PWF_GID ? gidstr : "",
- pwd.pw_gecos, pwd.pw_dir, pwd.pw_shell);
+ pwd.pw_gecos, pwd.pw_dir, pwd.pw_shell) == EOF)
+ error("write old");
}
}
/* If YP enabled, set flag. */
@@ -415,12 +418,14 @@ main(argc, argv)
error("close");
if (makeold) {
(void)fflush(oldfp);
- (void)fclose(oldfp);
+ if (fclose(oldfp) == EOF)
+ error("close old");
}
/* Set master.passwd permissions, in case caller forgot. */
(void)fchmod(fileno(fp), S_IRUSR|S_IWUSR);
- (void)fclose(fp);
+ if (fclose(fp) == EOF)
+ error("close fp");
/* Install as the real password files. */
(void)snprintf(buf, sizeof(buf), "%s/%s.tmp", prefix, _MP_DB);
OpenPOWER on IntegriCloud