From 9e766e7f13d026d09ebeb4382645602066d515f1 Mon Sep 17 00:00:00 2001 From: brian Date: Mon, 20 Aug 2001 15:09:34 +0000 Subject: Handle snprintf() returning < 0 (not just -1) MFC after: 2 weeks --- usr.sbin/apmd/contrib/pccardq.c | 2 +- usr.sbin/diskcheckd/diskcheckd.c | 4 ++-- usr.sbin/pkg_install/add/extract.c | 6 +++--- usr.sbin/pkg_install/create/pl.c | 4 ++-- usr.sbin/ppp/command.c | 6 +++++- usr.sbin/pw/pw_conf.c | 4 ++-- usr.sbin/pw/pwupd.c | 2 +- 7 files changed, 16 insertions(+), 12 deletions(-) diff --git a/usr.sbin/apmd/contrib/pccardq.c b/usr.sbin/apmd/contrib/pccardq.c index 1c551a1..1562c55f 100644 --- a/usr.sbin/apmd/contrib/pccardq.c +++ b/usr.sbin/apmd/contrib/pccardq.c @@ -164,7 +164,7 @@ get_slot_info(int so, int slot, char **manuf, char **version, char char *_version; char *_device; - if ((slen = snprintf(buf, sizeof buf, "N%d", slot)) == -1) { + if ((slen = snprintf(buf, sizeof buf, "N%d", slot)) < 0) { warnc(0, "write"); goto err; } diff --git a/usr.sbin/diskcheckd/diskcheckd.c b/usr.sbin/diskcheckd/diskcheckd.c index cb79a08..0b41bec 100644 --- a/usr.sbin/diskcheckd/diskcheckd.c +++ b/usr.sbin/diskcheckd/diskcheckd.c @@ -443,7 +443,7 @@ updateproctitle(struct disk *disks) { p += sizeof _PATH_DEV - 1; percent = 100 * (double)dseek(dp, 0, SEEK_CUR) / dp->size; - if ((ret = snprintf(bp, size, "%s %.2f%%, ", p, percent)) == -1) + if ((ret = snprintf(bp, size, "%s %.2f%%, ", p, percent)) < 0) ret = 0; if ((size_t)ret >= size) { inc = ((ret + 1023) >> 10) << 10; @@ -457,7 +457,7 @@ updateproctitle(struct disk *disks) { } bp = buf + bufsize - size; ret = snprintf(bp, size, "%s %.2f%%, ", p, percent); - if (ret == -1) + if (ret < 0) ret = 0; } bp += ret; diff --git a/usr.sbin/pkg_install/add/extract.c b/usr.sbin/pkg_install/add/extract.c index 534b9ca..945a305 100644 --- a/usr.sbin/pkg_install/add/extract.c +++ b/usr.sbin/pkg_install/add/extract.c @@ -158,7 +158,7 @@ extract_plist(char *home, Package *pkg) PUSHOUT(Directory); } add_count = snprintf(&perm_args[perm_count], maxargs - perm_count, "'%s' ", p->name); - if (add_count == -1 || add_count > maxargs - perm_count) { + if (add_count < 0 || add_count > maxargs - perm_count) { cleanup(0); errx(2, __FUNCTION__ ": oops, miscounted strings!"); } @@ -178,7 +178,7 @@ extract_plist(char *home, Package *pkg) PUSHOUT(Directory); } add_count = snprintf(&where_args[where_count], maxargs - where_count, " '%s'", p->name); - if (add_count == -1 || add_count > maxargs - where_count) { + if (add_count < 0 || add_count > maxargs - where_count) { cleanup(0); errx(2, __FUNCTION__ ": oops, miscounted strings!"); } @@ -186,7 +186,7 @@ extract_plist(char *home, Package *pkg) add_count = snprintf(&perm_args[perm_count], maxargs - perm_count, "'%s' ", p->name); - if (add_count == -1 || add_count > maxargs - perm_count) { + if (add_count < 0 || add_count > maxargs - perm_count) { cleanup(0); errx(2, __FUNCTION__ ": oops, miscounted strings!"); } diff --git a/usr.sbin/pkg_install/create/pl.c b/usr.sbin/pkg_install/create/pl.c index a0a34e0..02bb87b 100644 --- a/usr.sbin/pkg_install/create/pl.c +++ b/usr.sbin/pkg_install/create/pl.c @@ -190,7 +190,7 @@ copy_plist(char *home, Package *plist) p->name); last_chdir = home; } - if (add_count == -1 || add_count > maxargs - where_count) { + if (add_count < 0 || add_count > maxargs - where_count) { cleanup(0); errx(2, __FUNCTION__ ": oops, miscounted strings!"); } @@ -228,7 +228,7 @@ copy_plist(char *home, Package *plist) " -C %s %s", mythere ? mythere : where, p->name); - if (add_count == -1 || add_count > maxargs - where_count) { + if (add_count < 0 || add_count > maxargs - where_count) { cleanup(0); errx(2, __FUNCTION__ ": oops, miscounted strings!"); } diff --git a/usr.sbin/ppp/command.c b/usr.sbin/ppp/command.c index 36cd8ed..ae68eec 100644 --- a/usr.sbin/ppp/command.c +++ b/usr.sbin/ppp/command.c @@ -263,7 +263,11 @@ IdentCommand(struct cmdargs const *arg) for (pos = 0, f = arg->argn; f < arg->argc && pos < max; f++) { n = snprintf(arg->cx->physical->link.lcp.cfg.ident + pos, max - pos, "%s%s", f == arg->argn ? "" : " ", arg->argv[f]); - if (n == -1 || (pos += n) >= max) + if (n < 0) { + arg->cx->physical->link.lcp.cfg.ident[pos] = '\0'; + break; + } + if ((pos += n) >= max) break; } diff --git a/usr.sbin/pw/pw_conf.c b/usr.sbin/pw/pw_conf.c index e4c5a4a..9377239 100644 --- a/usr.sbin/pw/pw_conf.c +++ b/usr.sbin/pw/pw_conf.c @@ -420,7 +420,7 @@ 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) + if (l < 0) l = 0; if (l + k + 1 < len || extendline(&buf, &len, len + LNBUFSZ) != -1) { strcpy(buf + k, lbuf); @@ -440,7 +440,7 @@ 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) + if (l < 0) l = 0; if (l + k + 1 < len || extendline(&buf, &len, len + 1024) != -1) { strcpy(buf + k, lbuf); diff --git a/usr.sbin/pw/pwupd.c b/usr.sbin/pw/pwupd.c index ec29b9e..67a816f 100644 --- a/usr.sbin/pw/pwupd.c +++ b/usr.sbin/pw/pwupd.c @@ -166,7 +166,7 @@ pw_update(struct passwd * pwd, char const * user, int mode) else fmtpwentry(pwbuf, pwd, PWF_PASSWD); - if (l == -1) + if (l < 0) l = 0; rc = fileupdate(getpwpath(_PASSWD), 0644, pwbuf, pfx, l, mode); if (rc == 0) { -- cgit v1.1