diff options
author | brian <brian@FreeBSD.org> | 2001-08-20 13:24:39 +0000 |
---|---|---|
committer | brian <brian@FreeBSD.org> | 2001-08-20 13:24:39 +0000 |
commit | d48c427cd5bdebd62fe29b534bab868f697332da (patch) | |
tree | cfffe027302e0b8a140748c6626dc30e92913ec1 /usr.sbin/pw | |
parent | 016b1a255a4619a8b85d12e8ef931c0dfa1e13ae (diff) | |
download | FreeBSD-src-d48c427cd5bdebd62fe29b534bab868f697332da.zip FreeBSD-src-d48c427cd5bdebd62fe29b534bab868f697332da.tar.gz |
Handle snprintf() returning -1.
MFC after: 2 weeks
Diffstat (limited to 'usr.sbin/pw')
-rw-r--r-- | usr.sbin/pw/grupd.c | 2 | ||||
-rw-r--r-- | usr.sbin/pw/pw_conf.c | 4 | ||||
-rw-r--r-- | usr.sbin/pw/pwupd.c | 2 |
3 files changed, 7 insertions, 1 deletions
diff --git a/usr.sbin/pw/grupd.c b/usr.sbin/pw/grupd.c index edff76d..a2a0282 100644 --- a/usr.sbin/pw/grupd.c +++ b/usr.sbin/pw/grupd.c @@ -134,7 +134,7 @@ gr_update(struct group * grp, char const * group, int mode) char *grbuf = NULL; ENDGRENT(); - l = snprintf(pfx, sizeof pfx, "%s:", group); + snprintf(pfx, sizeof pfx, "%s:", group); /* * Update the group file diff --git a/usr.sbin/pw/pw_conf.c b/usr.sbin/pw/pw_conf.c index 0580091..e4c5a4a 100644 --- a/usr.sbin/pw/pw_conf.c +++ b/usr.sbin/pw/pw_conf.c @@ -420,6 +420,8 @@ write_userconfig(char const * file) for (j = k = 0; j < _UC_MAXSHELLS && system_shells[j] != NULL; j++) { char lbuf[64]; int l = snprintf(lbuf, sizeof lbuf, "%s\"%s\"", k ? "," : "", system_shells[j]); + if (l == -1) + l = 0; if (l + k + 1 < len || extendline(&buf, &len, len + LNBUFSZ) != -1) { strcpy(buf + k, lbuf); k += l; @@ -438,6 +440,8 @@ write_userconfig(char const * file) for (j = k = 0; j < config.numgroups && config.groups[j] != NULL; j++) { char lbuf[64]; int l = snprintf(lbuf, sizeof lbuf, "%s\"%s\"", k ? "," : "", config.groups[j]); + if (l == -1) + l = 0; if (l + k + 1 < len || extendline(&buf, &len, len + 1024) != -1) { strcpy(buf + k, lbuf); k += l; diff --git a/usr.sbin/pw/pwupd.c b/usr.sbin/pw/pwupd.c index fef3662..ec29b9e 100644 --- a/usr.sbin/pw/pwupd.c +++ b/usr.sbin/pw/pwupd.c @@ -166,6 +166,8 @@ pw_update(struct passwd * pwd, char const * user, int mode) else fmtpwentry(pwbuf, pwd, PWF_PASSWD); + if (l == -1) + l = 0; rc = fileupdate(getpwpath(_PASSWD), 0644, pwbuf, pfx, l, mode); if (rc == 0) { |