From 4e059b7f961ce0c37564d6417157fa695d541bf7 Mon Sep 17 00:00:00 2001 From: brian Date: Mon, 20 Aug 2001 12:50:21 +0000 Subject: Handle snprintf() returning -1. MFC after: 2 weeks --- lib/libdevstat/devstat.c | 6 ++++-- lib/libfetch/ftp.c | 3 ++- libexec/rlogind/rlogind.c | 2 ++ 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/lib/libdevstat/devstat.c b/lib/libdevstat/devstat.c index 7db6b99..86694ea 100644 --- a/lib/libdevstat/devstat.c +++ b/lib/libdevstat/devstat.c @@ -269,7 +269,8 @@ devstat_checkversion(kvm_t *kd) errlen = snprintf(tmpstr, sizeof(tmpstr), "\n"); strncat(devstat_errbuf, tmpstr, DEVSTAT_ERRBUF_SIZE - buflen - 1); - buflen += errlen; + if (errlen > 0) + buflen += errlen; } errlen = snprintf(tmpstr, sizeof(tmpstr), @@ -281,7 +282,8 @@ devstat_checkversion(kvm_t *kd) if (version == -1) { strncat(devstat_errbuf, tmpstr, DEVSTAT_ERRBUF_SIZE - buflen - 1); - buflen += errlen; + if (errlen > 0) + buflen += errlen; } else { strncpy(devstat_errbuf, tmpstr, DEVSTAT_ERRBUF_SIZE); devstat_errbuf[DEVSTAT_ERRBUF_SIZE - 1] = '\0'; diff --git a/lib/libfetch/ftp.c b/lib/libfetch/ftp.c index f1ffbf2..1274019 100644 --- a/lib/libfetch/ftp.c +++ b/lib/libfetch/ftp.c @@ -744,7 +744,8 @@ _ftp_authenticate(int cd, struct url *url, struct url *purl) if (!pwd || !*pwd) { if ((logname = getlogin()) == 0) logname = FTP_ANONYMOUS_USER; - len = snprintf(pbuf, MAXLOGNAME + 1, "%s@", logname); + if ((len = snprintf(pbuf, MAXLOGNAME + 1, "%s@", logname)) == -1) + len = 0; gethostname(pbuf + len, sizeof pbuf - len); pwd = pbuf; } diff --git a/libexec/rlogind/rlogind.c b/libexec/rlogind/rlogind.c index f0df9df..2719d09 100644 --- a/libexec/rlogind/rlogind.c +++ b/libexec/rlogind/rlogind.c @@ -555,6 +555,8 @@ fatal(f, msg, syserr) msg, strerror(errno)); else len = snprintf(bp, sizeof(buf), "rlogind: %s.\r\n", msg); + if (len == -1) + len = 0; (void) write(f, buf, bp + len - buf); exit(1); } -- cgit v1.1