summaryrefslogtreecommitdiffstats
path: root/term-utils
diff options
context:
space:
mode:
Diffstat (limited to 'term-utils')
-rw-r--r--term-utils/agetty.c4
-rw-r--r--term-utils/ttymsg.c8
-rw-r--r--term-utils/wall.c4
3 files changed, 8 insertions, 8 deletions
diff --git a/term-utils/agetty.c b/term-utils/agetty.c
index d88cdc1c0..55a00e125 100644
--- a/term-utils/agetty.c
+++ b/term-utils/agetty.c
@@ -1001,8 +1001,8 @@ static void open_tty(char *tty, struct termios *tp, struct options *op)
if ((gr = getgrnam("tty")))
gid = gr->gr_gid;
- if (((len = snprintf(buf, sizeof(buf), "/dev/%s", tty)) >=
- (int)sizeof(buf)) || (len < 0))
+ len = snprintf(buf, sizeof(buf), "/dev/%s", tty);
+ if (len < 0 || (size_t)len >= sizeof(buf))
log_err(_("/dev/%s: cannot open as standard input: %m"), tty);
/* Open the tty as standard input. */
diff --git a/term-utils/ttymsg.c b/term-utils/ttymsg.c
index 18a723f86..2aab69f10 100644
--- a/term-utils/ttymsg.c
+++ b/term-utils/ttymsg.c
@@ -90,7 +90,7 @@ ttymsg(struct iovec *iov, size_t iovcnt, char *line, int tmout) {
also wrong since people use /dev/pts/xxx. */
len = snprintf(device, sizeof(device), "%s%s", _PATH_DEV, line);
- if (len < 0 || len + 1 > (ssize_t) sizeof(device)) {
+ if (len < 0 || (size_t)len >= sizeof(device)) {
snprintf(errbuf, sizeof(errbuf), _("excessively long line arg"));
return errbuf;
}
@@ -104,7 +104,7 @@ ttymsg(struct iovec *iov, size_t iovcnt, char *line, int tmout) {
return NULL;
len = snprintf(errbuf, sizeof(errbuf), "%s: %m", device);
- if (len < 0 || len + 1 > (ssize_t) sizeof(errbuf))
+ if (len < 0 || (size_t)len >= sizeof(errbuf))
snprintf(errbuf, sizeof(errbuf), _("open failed"));
return errbuf;
}
@@ -145,7 +145,7 @@ ttymsg(struct iovec *iov, size_t iovcnt, char *line, int tmout) {
cpid = fork();
if (cpid < 0) {
len = snprintf(errbuf, sizeof(errbuf), _("fork: %m"));
- if (len < 0 || len + 1 > (ssize_t) sizeof(errbuf))
+ if (len < 0 || (size_t)len >= sizeof(errbuf))
snprintf(errbuf, sizeof(errbuf), _("cannot fork"));
close(fd);
return errbuf;
@@ -177,7 +177,7 @@ ttymsg(struct iovec *iov, size_t iovcnt, char *line, int tmout) {
_exit(EXIT_FAILURE);
len = snprintf(errbuf, sizeof(errbuf), "%s: %m", device);
- if (len < 0 || len + 1 > (ssize_t) sizeof(errbuf))
+ if (len < 0 || (size_t)len >= sizeof(errbuf))
snprintf(errbuf, sizeof(errbuf),
_("%s: BAD ERROR, message is "
"far too long"), device);
diff --git a/term-utils/wall.c b/term-utils/wall.c
index 7d0dfe772..1253d32cd 100644
--- a/term-utils/wall.c
+++ b/term-utils/wall.c
@@ -217,8 +217,8 @@ static void buf_printf(struct buffer *bs, const char *fmt, ...)
rc = vsnprintf(bs->data + bs->used, limit, fmt, ap);
va_end(ap);
- if (rc > 0 && (size_t) rc + 1 > limit) { /* not enoght, enlarge */
- buf_enlarge(bs, rc + 1);
+ if (rc >= 0 && (size_t) rc >= limit) { /* not enoght, enlarge */
+ buf_enlarge(bs, (size_t)rc + 1);
limit = bs->sz - bs->used;
va_start(ap, fmt);
rc = vsnprintf(bs->data + bs->used, limit, fmt, ap);;