summaryrefslogtreecommitdiffstats
path: root/pw/pw_user.c
diff options
context:
space:
mode:
authorRobert Drehmel <robert@FreeBSD.org>2004-06-17 14:07:16 +0000
committerRobert Drehmel <robert@FreeBSD.org>2004-06-17 14:07:16 +0000
commit517bc45d044a80a60c7264a22085496d99ab7c44 (patch)
tree4c4ad9807feaa64a6a4bf61486a662e587fb4d52 /pw/pw_user.c
parent2baa9d6a4c21ebe8620f6512f672296828844b48 (diff)
downloadpw-darwin-517bc45d044a80a60c7264a22085496d99ab7c44.tar.gz
pw-darwin-517bc45d044a80a60c7264a22085496d99ab7c44.tar.zst
pw-darwin-517bc45d044a80a60c7264a22085496d99ab7c44.zip
Use strlcpy(3) to replace the idiomatic
strncpy(d, s, l); d[l - 1] = '\0'; statements.
Diffstat (limited to 'pw/pw_user.c')
-rw-r--r--pw/pw_user.c26
1 files changed, 10 insertions, 16 deletions
diff --git a/pw/pw_user.c b/pw/pw_user.c
index f7a6c56..5fd3671 100644
--- a/pw/pw_user.c
+++ b/pw/pw_user.c
@@ -187,8 +187,8 @@ pw_user(struct userconf * cnf, int mode, struct cargs * args)
}
/* If this falls, fall back to old method */
}
- p = strncpy(dbuf, cnf->home, sizeof dbuf);
- dbuf[MAXPATHLEN-1] = '\0';
+ strlcpy(dbuf, cnf->home, sizeof(dbuf));
+ p = dbuf;
if (stat(dbuf, &st) == -1) {
while ((p = strchr(++p, '/')) != NULL) {
*p = '\0';
@@ -396,8 +396,7 @@ pw_user(struct userconf * cnf, int mode, struct cargs * args)
* invalidated by deletion
*/
sprintf(file, "%s/%s", _PATH_MAILDIR, pwd->pw_name);
- strncpy(home, pwd->pw_dir, sizeof home);
- home[sizeof home - 1] = '\0';
+ strlcpy(home, pwd->pw_dir, sizeof(home));
rc = delpwent(pwd);
if (rc == -1)
@@ -978,8 +977,7 @@ shell_path(char const * path, char *shells[], char *sh)
/*
* We need to search paths
*/
- strncpy(paths, path, sizeof paths);
- paths[sizeof paths - 1] = '\0';
+ strlcpy(paths, path, sizeof(paths));
for (p = strtok(paths, ": \t\r\n"); p != NULL; p = strtok(NULL, ": \t\r\n")) {
int i;
static char shellpath[256];
@@ -1118,8 +1116,7 @@ pw_password(struct userconf * cnf, struct cargs * args, char const * user)
return "*";
case 1: /* user's name */
- strncpy(pwbuf, user, sizeof pwbuf);
- pwbuf[sizeof pwbuf - 1] = '\0';
+ strlcpy(pwbuf, user, sizeof(pwbuf));
break;
}
return pw_pwcrypt(pwbuf);
@@ -1144,17 +1141,14 @@ print_user(struct passwd * pwd, int pretty, int v7)
struct tm * tptr;
if ((p = strtok(pwd->pw_gecos, ",")) != NULL) {
- strncpy(uname, p, sizeof uname);
- uname[sizeof uname - 1] = '\0';
+ strlcpy(uname, p, sizeof(uname));
if ((p = strtok(NULL, ",")) != NULL) {
- strncpy(office, p, sizeof office);
- office[sizeof office - 1] = '\0';
+ strlcpy(office, p, sizeof(office));
if ((p = strtok(NULL, ",")) != NULL) {
- strncpy(wphone, p, sizeof wphone);
- wphone[sizeof wphone - 1] = '\0';
+ strlcpy(wphone, p, sizeof(wphone));
if ((p = strtok(NULL, "")) != NULL) {
- strncpy(hphone, p, sizeof hphone);
- hphone[sizeof hphone - 1] = '\0';
+ strlcpy(hphone, p,
+ sizeof(hphone));
}
}
}