]> granicus.if.org Git - sudo/commitdiff
Minor snprintf() usage tweaks:
authorTodd C. Miller <Todd.Miller@sudo.ws>
Sun, 20 Jan 2019 14:49:48 +0000 (07:49 -0700)
committerTodd C. Miller <Todd.Miller@sudo.ws>
Sun, 20 Jan 2019 14:49:48 +0000 (07:49 -0700)
1) don't assume snprintf() returns -1 on error, check for <0
2) when comparing return value of sizeof(foo), cast the sizeof, not the len
3) cast return value to void in cases where snprintf cannot fail

26 files changed:
lib/util/regress/vsyslog/vsyslog_test.c
lib/util/sig2str.c
plugins/sudoers/alias.c
plugins/sudoers/cvtsudoers_pwutil.c
plugins/sudoers/env.c
plugins/sudoers/find_path.c
plugins/sudoers/fmtsudoers.c
plugins/sudoers/group_plugin.c
plugins/sudoers/iolog.c
plugins/sudoers/ldap.c
plugins/sudoers/ldap_conf.c
plugins/sudoers/ldap_util.c
plugins/sudoers/logging.c
plugins/sudoers/match.c
plugins/sudoers/parse.c
plugins/sudoers/set_perms.c
plugins/sudoers/starttime.c
plugins/sudoers/sudoers.c
plugins/sudoers/sudoreplay.c
plugins/sudoers/timestamp.c
plugins/sudoers/tsdump.c
src/exec_monitor.c
src/exec_nopty.c
src/exec_pty.c
src/sudo.c
src/ttyname.c

index 70a8d0dd2a4a578dbf642bfa82f33fd8e86f7387..6693a98663ca7c2b9abc5795a168ac7dd0561cfc 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2017 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2017-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -93,7 +93,7 @@ main(int argc, char *argv[])
        "/usr/sbin/newaliases");
 
     /* Test small buffer w/ errno. */
-    snprintf(buf1, sizeof(buf1),
+    (void)snprintf(buf1, sizeof(buf1),
         "unable to open %s: %s", "/var/log/sudo-io/seq", strerror(ENOENT));
     expected_result = buf1;
     errno = ENOENT;
@@ -108,7 +108,7 @@ main(int argc, char *argv[])
     /* Test large buffer w/ errno > 8192 bytes. */
     memset(buf1, 'b', 8184);
     buf1[8184] = '\0';
-    snprintf(buf2, sizeof(buf2), "%s: %s", buf1, strerror(EINVAL));
+    (void)snprintf(buf2, sizeof(buf2), "%s: %s", buf1, strerror(EINVAL));
     expected_result = buf2;
     errno = EINVAL;
     test_vsyslog(0, "%s: %m", buf1);
@@ -116,7 +116,7 @@ main(int argc, char *argv[])
     /* Test large format string > 8192 bytes, expect truncation to 2048. */
     memset(buf1, 'b', 8184);
     buf1[8184] = '\0';
-    snprintf(buf2, sizeof(buf2), "%.*s", 2047, buf1);
+    (void)snprintf(buf2, sizeof(buf2), "%.*s", 2047, buf1);
     expected_result = buf2;
     test_vsyslog(0, buf1);
 
index a6d4c1ac4de57c3b11ab44e9f801dda9680389a6..6043fa24449389b5d26cfbaae23ad97745fc2eb5 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2014 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2012-2015, 2017-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -62,7 +62,7 @@ sudo_sig2str(int signo, char *signame)
 #if defined(SIGRTMIN) && defined(SIGRTMAX)
     /* Realtime signal support as per Solaris. */
     if (signo >= SIGRTMIN && signo <= SIGRTMAX) {
-       snprintf(signame, SIG2STR_MAX, "RTMIN+%d", (signo - SIGRTMIN));
+       (void)snprintf(signame, SIG2STR_MAX, "RTMIN+%d", (signo - SIGRTMIN));
        return 0;
     }
 #endif
index a5b4573d0d35581bf3a1e7b3390a68560115fa18..66ab57508c9538b230cb43661d5cc82db0fdadb0 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004-2005, 2007-2018
+ * Copyright (c) 2004-2005, 2007-2019
  *     Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -145,12 +145,12 @@ alias_add(struct sudoers_parse_tree *parse_tree, char *name, int type,
     HLTQ_TO_TAILQ(&a->members, members, entries);
     switch (rbinsert(parse_tree->aliases, a, NULL)) {
     case 1:
-       snprintf(errbuf, sizeof(errbuf), N_("Alias \"%s\" already defined"),
-           name);
+       (void)snprintf(errbuf, sizeof(errbuf),
+           N_("Alias \"%s\" already defined"), name);
        alias_free(a);
        debug_return_str(errbuf);
     case -1:
-       strlcpy(errbuf, N_("unable to allocate memory"), sizeof(errbuf));
+       (void)strlcpy(errbuf, N_("unable to allocate memory"), sizeof(errbuf));
        alias_free(a);
        debug_return_str(errbuf);
     }
index 49715a3b548a490b7e1f7d375a36055a6867f0f2..62a134558b9d6b1d7d339add42744fe65046bf3e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 1998-2005, 2007-2018
+ * Copyright (c) 1996, 1998-2005, 2007-2019
  *     Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -108,7 +108,8 @@ cvtsudoers_make_pwitem(uid_t uid, const char *name)
            if (errstr == NULL) {
                if (uid != filter_uid)
                    continue;
-               snprintf(uidstr, sizeof(uidstr), "#%u", (unsigned int)uid);
+               (void)snprintf(uidstr, sizeof(uidstr), "#%u",
+                   (unsigned int)uid);
                break;
            }
        }
@@ -214,7 +215,8 @@ cvtsudoers_make_gritem(gid_t gid, const char *name)
            if (errstr == NULL) {
                if (gid != filter_gid)
                    continue;
-               snprintf(gidstr, sizeof(gidstr), "#%u", (unsigned int)gid);
+               (void)snprintf(gidstr, sizeof(gidstr), "#%u",
+                   (unsigned int)gid);
                break;
            }
        }
index 0aee73fec5bdd0d9911f52c5796ce9278ad04bb9..f908a3e592187dfb162adca63f75800e92870b0c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000-2005, 2007-2018
+ * Copyright (c) 2000-2005, 2007-2019
  *     Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -1100,9 +1100,9 @@ rebuild_env(void)
 
     /* Add the SUDO_USER, SUDO_UID, SUDO_GID environment variables. */
     CHECK_SETENV2("SUDO_USER", user_name, true, true);
-    snprintf(idbuf, sizeof(idbuf), "%u", (unsigned int) user_uid);
+    (void)snprintf(idbuf, sizeof(idbuf), "%u", (unsigned int) user_uid);
     CHECK_SETENV2("SUDO_UID", idbuf, true, true);
-    snprintf(idbuf, sizeof(idbuf), "%u", (unsigned int) user_gid);
+    (void)snprintf(idbuf, sizeof(idbuf), "%u", (unsigned int) user_gid);
     CHECK_SETENV2("SUDO_GID", idbuf, true, true);
 
     debug_return_bool(true);
index 70b9218377953233c9e497892e42e3047e934e71..597523770ed6a689eefc87c6b532b39aa92345a4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 1998-2005, 2010-2015
+ * Copyright (c) 1996, 1998-2005, 2010-2015, 2017-2019
  *     Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -140,7 +140,7 @@ find_path(const char *infile, char **outfile, struct stat *sbp,
         */
        len = snprintf(command, sizeof(command), "%.*s/%s",
            (int)(ep - cp), cp, infile);
-       if (len <= 0 || (size_t)len >= sizeof(command)) {
+       if (len <= 0 || len >= (int)sizeof(command)) {
            errno = ENAMETOOLONG;
            debug_return_int(NOT_FOUND_ERROR);
        }
@@ -154,7 +154,7 @@ find_path(const char *infile, char **outfile, struct stat *sbp,
      */
     if (!found && checkdot) {
        len = snprintf(command, sizeof(command), "./%s", infile);
-       if (len <= 0 || (size_t)len >= sizeof(command)) {
+       if (len <= 0 || len >= (int)sizeof(command)) {
            errno = ENAMETOOLONG;
            debug_return_int(NOT_FOUND_ERROR);
        }
index 8c73f9c4a13aeed1c252f9ca2551a9d151c68299..eaef9025320f6caf3366242dce0e39480b86c41e 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004-2005, 2007-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2004-2005, 2007-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -229,13 +229,13 @@ sudoers_format_cmndspec(struct sudo_lbuf *lbuf,
 #endif /* HAVE_SELINUX */
     if (cs->timeout > 0 && FIELD_CHANGED(prev_cs, cs, timeout)) {
        char numbuf[(((sizeof(int) * 8) + 2) / 3) + 2];
-       snprintf(numbuf, sizeof(numbuf), "%d", cs->timeout);
+       (void)snprintf(numbuf, sizeof(numbuf), "%d", cs->timeout);
        sudo_lbuf_append(lbuf, "TIMEOUT=%s ", numbuf);
     }
     if (cs->notbefore != UNSPEC && FIELD_CHANGED(prev_cs, cs, notbefore)) {
        char buf[sizeof("CCYYMMDDHHMMSSZ")];
        struct tm *tm = gmtime(&cs->notbefore);
-       snprintf(buf, sizeof(buf), "%04d%02d%02d%02d%02d%02dZ",
+       (void)snprintf(buf, sizeof(buf), "%04d%02d%02d%02d%02d%02dZ",
            tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
            tm->tm_hour, tm->tm_min, tm->tm_sec);
        sudo_lbuf_append(lbuf, "NOTBEFORE=%s ", buf);
@@ -243,7 +243,7 @@ sudoers_format_cmndspec(struct sudo_lbuf *lbuf,
     if (cs->notafter != UNSPEC && FIELD_CHANGED(prev_cs, cs, notafter)) {
        char buf[sizeof("CCYYMMDDHHMMSSZ")];
        struct tm *tm = gmtime(&cs->notafter);
-       snprintf(buf, sizeof(buf), "%04d%02d%02d%02d%02d%02dZ",
+       (void)snprintf(buf, sizeof(buf), "%04d%02d%02d%02d%02d%02dZ",
            tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
            tm->tm_hour, tm->tm_min, tm->tm_sec);
        sudo_lbuf_append(lbuf, "NOTAFTER=%s ", buf);
index 21d651026e8c463e1ea88c3f089c0a2442bafc86..0627f6c39ce577e3844c5d8d7748523647379faf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2010-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2010-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -72,7 +72,7 @@ group_plugin_load(char *plugin_info)
        len = snprintf(path, sizeof(path), "%s%s",
            (*plugin_info != '/') ? path_plugin_dir : "", plugin_info);
     }
-    if (len <= 0 || (size_t)len >= sizeof(path)) {
+    if (len <= 0 || len >= (int)sizeof(path)) {
        errno = ENAMETOOLONG;
        sudo_warn("%s%s",
            (*plugin_info != '/') ? path_plugin_dir : "", plugin_info);
index b746c6154cd1a9d1eb885904556b6e3a7125d650..338169cb540807761293e6efeb22d6ae913a7491 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -401,7 +401,7 @@ io_nextid(char *iolog_dir, char *iolog_dir_fallback, char sessid[7])
      * Open sequence file
      */
     len = snprintf(pathbuf, sizeof(pathbuf), "%s/seq", iolog_dir);
-    if (len <= 0 || (size_t)len >= sizeof(pathbuf)) {
+    if (len <= 0 || len >= (int)sizeof(pathbuf)) {
        errno = ENAMETOOLONG;
        log_warning(SLOG_SEND_MAIL, "%s/seq", pathbuf);
        goto done;
@@ -429,7 +429,7 @@ io_nextid(char *iolog_dir, char *iolog_dir_fallback, char sessid[7])
 
        len = snprintf(fallback, sizeof(fallback), "%s/seq",
            iolog_dir_fallback);
-       if (len > 0 && (size_t)len < sizeof(fallback)) {
+       if (len > 0 && len < (int)sizeof(fallback)) {
            int fd2 = io_open(fallback, O_RDWR|O_CREAT, iolog_filemode);
            if (fd2 != -1) {
                if (fchown(fd2, iolog_uid, iolog_gid) != 0) {
@@ -944,9 +944,9 @@ sudoers_io_open(unsigned int version, sudo_conv_t conversation,
            ret = false;
            goto done;
        }
-       snprintf(tofree + sizeof(_PATH_SUDO_IO_LOGDIR), sizeof(sessid) + 2,
-           "%c%c/%c%c/%c%c", sessid[0], sessid[1], sessid[2], sessid[3],
-           sessid[4], sessid[5]);
+       (void)snprintf(tofree + sizeof(_PATH_SUDO_IO_LOGDIR),
+           sizeof(sessid) + 2, "%c%c/%c%c/%c%c", sessid[0], sessid[1],
+           sessid[2], sessid[3], sessid[4], sessid[5]);
        iolog_details.iolog_path = tofree;
     }
 
index bc2baec12dd6d1cc68da8807d1d7771cde8e9803..49193713564c2a7dc729581ab427c7d80b350c47 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2003-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * This code is derived from software contributed by Aaron Spangler.
  *
@@ -1302,7 +1302,7 @@ sudo_krb5_copy_cc_file(const char *old_ccname)
        if (ofd != -1) {
            (void) fcntl(ofd, F_SETFL, 0);
            if (sudo_lock_file(ofd, SUDO_LOCK)) {
-               snprintf(new_ccname, sizeof(new_ccname), "%s%s",
+               (void)snprintf(new_ccname, sizeof(new_ccname), "%s%s",
                    _PATH_TMP, "sudocc_XXXXXXXX");
                nfd = mkstemp(new_ccname);
                if (nfd != -1) {
index 06591d41c981a8d1b153e1ef91b2552041071b26..1804d520d06ceb5d25bbdf6604baf21651c35f6c 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2003-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2003-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * This code is derived from software contributed by Aaron Spangler.
  *
@@ -199,7 +199,7 @@ sudo_ldap_conf_add_ports(void)
 
     hostbuf[0] = '\0';
     len = snprintf(defport, sizeof(defport), ":%d", ldap_conf.port);
-    if (len <= 0 || (size_t)len >= sizeof(defport)) {
+    if (len <= 0 || len >= (int)sizeof(defport)) {
        sudo_warnx(U_("sudo_ldap_conf_add_ports: port too large"));
        debug_return_bool(false);
     }
index 9b8f69ea4f1a74dab71b4d04747a71bb2fe972ad..77eb1ee7e8ab25f97f654a80350b1dbf576c2e6a 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2013, 2016, 2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2013, 2016, 2018-2018 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * This code is derived from software contributed by Aaron Spangler.
  *
@@ -412,7 +412,7 @@ sudo_ldap_role_to_priv(const char *cn, void *hosts, void *runasusers,
                    size_t slen = sizeof("sudoRole") + strlen(priv->ldap_role);
                    if ((source = rcstr_alloc(slen)) == NULL)
                        goto oom;
-                   snprintf(source, slen, "sudoRole %s", priv->ldap_role);
+                   (void)snprintf(source, slen, "sudoRole %s", priv->ldap_role);
                }
 
                while ((opt = iter(&opts)) != NULL) {
index 95626096afbfb4c741de159fc8f1a905695a568e..11f4c34373cd536579d53fbd2660d387386336bf 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994-1996, 1998-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 1994-1996, 1998-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -464,7 +464,7 @@ fmt_authfail_message(char **str, va_list ap)
                break;
            case 'd':
                len = snprintf(dst, dst_end - dst, "%u", tries);
-               if (len == -1 || len >= (int)(dst_end - dst))
+               if (len <= 0 || len >= (int)(dst_end - dst))
                    goto done;
                dst += len;
                src += 2;
index 7c8e9d8e6a569814499aa7b7a74fa9e49e848b6a..47ee4cc0deeb8a2bc2e34e382f920aed6010ef62 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1996, 1998-2005, 2007-2018
+ * Copyright (c) 1996, 1998-2005, 2007-2019
  *     Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
@@ -600,7 +600,7 @@ set_cmnd_fd(int fd)
            int flags;
 
            /* We can only use fexecve() on a script if /dev/fd/N exists. */
-           snprintf(fdpath, sizeof(fdpath), "/dev/fd/%d", fd);
+           (void)snprintf(fdpath, sizeof(fdpath), "/dev/fd/%d", fd);
            if (stat(fdpath, &sb) != 0) {
                /* Missing /dev/fd file, can't use fexecve(). */
                close(fd);
index fb781f5799d12c9ac0a751723968e0c7e913f8a9..765dcd4e48ae8eadbba9f1ca522c60d3ef12b542 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2004-2005, 2007-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2004-2005, 2007-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -506,13 +506,14 @@ display_priv_long(struct sudoers_parse_tree *parse_tree, struct passwd *pw,
 #endif /* HAVE_SELINUX */
                if (cs->timeout > 0) {
                    char numbuf[(((sizeof(int) * 8) + 2) / 3) + 2];
-                   snprintf(numbuf, sizeof(numbuf), "%d", cs->timeout);
+                   (void)snprintf(numbuf, sizeof(numbuf), "%d", cs->timeout);
                    sudo_lbuf_append(lbuf, "    Timeout: %s\n", numbuf);
                }
                if (cs->notbefore != UNSPEC) {
                    char buf[sizeof("CCYYMMDDHHMMSSZ")];
                    struct tm *tm = gmtime(&cs->notbefore);
-                   snprintf(buf, sizeof(buf), "%04d%02d%02d%02d%02d%02dZ",
+                   (void)snprintf(buf, sizeof(buf),
+                       "%04d%02d%02d%02d%02d%02dZ",
                        tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
                        tm->tm_hour, tm->tm_min, tm->tm_sec);
                    sudo_lbuf_append(lbuf, "    NotBefore: %s\n", buf);
@@ -520,7 +521,8 @@ display_priv_long(struct sudoers_parse_tree *parse_tree, struct passwd *pw,
                if (cs->notafter != UNSPEC) {
                    char buf[sizeof("CCYYMMDDHHMMSSZ")];
                    struct tm *tm = gmtime(&cs->notafter);
-                   snprintf(buf, sizeof(buf), "%04d%02d%02d%02d%02d%02dZ",
+                   (void)snprintf(buf, sizeof(buf),
+                       "%04d%02d%02d%02d%02d%02dZ",
                        tm->tm_year + 1900, tm->tm_mon + 1, tm->tm_mday,
                        tm->tm_hour, tm->tm_min, tm->tm_sec);
                    sudo_lbuf_append(lbuf, "    NotAfter: %s\n", buf);
index 5b83488290d1841ad82e4eaa28d7e0dc42bf79ee..ee113df4ba15789851b45698f30a3ebc4babac1b 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1994-1996, 1998-2017 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 1994-1996, 1998-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -169,7 +169,7 @@ set_perms(int perm)
            (int)ostate->ruid, (int)ostate->euid, (int)ostate->suid,
            (int)state->ruid, (int)state->euid, (int)state->suid);
        if (UID_CHANGED && setresuid(ID(ruid), ID(euid), ID(suid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_ROOT: setresuid(%d, %d, %d)",
                (int)ID(ruid), (int)ID(euid), (int)ID(suid));
            goto bad;
@@ -198,7 +198,8 @@ set_perms(int perm)
            (int)ostate->rgid, (int)ostate->egid, (int)ostate->sgid,
            (int)state->rgid, (int)state->egid, (int)state->sgid);
        if (GID_CHANGED && setresgid(ID(rgid), ID(egid), ID(sgid))) {
-           snprintf(errbuf, sizeof(errbuf), "PERM_USER: setresgid(%d, %d, %d)",
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "PERM_USER: setresgid(%d, %d, %d)",
                (int)ID(rgid), (int)ID(egid), (int)ID(sgid));
            goto bad;
        }
@@ -218,7 +219,8 @@ set_perms(int perm)
            (int)ostate->ruid, (int)ostate->euid, (int)ostate->suid,
            (int)state->ruid, (int)state->euid, (int)state->suid);
        if (UID_CHANGED && setresuid(ID(ruid), ID(euid), ID(suid))) {
-           snprintf(errbuf, sizeof(errbuf), "PERM_USER: setresuid(%d, %d, %d)",
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "PERM_USER: setresuid(%d, %d, %d)",
                (int)ID(ruid), (int)ID(euid), (int)ID(suid));
            goto bad;
        }
@@ -234,7 +236,7 @@ set_perms(int perm)
            (int)ostate->rgid, (int)ostate->egid, (int)ostate->sgid,
            (int)state->rgid, (int)state->egid, (int)state->sgid);
        if (GID_CHANGED && setresgid(ID(rgid), ID(egid), ID(sgid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_FULL_USER: setresgid(%d, %d, %d)",
                (int)ID(rgid), (int)ID(egid), (int)ID(sgid));
            goto bad;
@@ -255,7 +257,7 @@ set_perms(int perm)
            (int)ostate->ruid, (int)ostate->euid, (int)ostate->suid,
            (int)state->ruid, (int)state->euid, (int)state->suid);
        if (UID_CHANGED && setresuid(ID(ruid), ID(euid), ID(suid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_FULL_USER: setresuid(%d, %d, %d)",
                (int)ID(ruid), (int)ID(euid), (int)ID(suid));
            goto bad;
@@ -325,7 +327,7 @@ set_perms(int perm)
            (int)ostate->ruid, (int)ostate->euid, (int)ostate->suid,
            (int)state->ruid, (int)state->euid, (int)state->suid);
        if (UID_CHANGED && setresuid(ID(ruid), ID(euid), ID(suid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_SUDOERS: setresuid(%d, %d, %d)",
                (int)ID(ruid), (int)ID(euid), (int)ID(suid));
            goto bad;
@@ -346,7 +348,7 @@ set_perms(int perm)
            (int)ostate->ruid, (int)ostate->euid, (int)ostate->suid,
            (int)state->ruid, (int)state->euid, (int)state->suid);
        if (UID_CHANGED && setresuid(ID(ruid), ID(euid), ID(suid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_TIMESTAMP: setresuid(%d, %d, %d)",
                (int)ID(ruid), (int)ID(euid), (int)ID(suid));
            goto bad;
@@ -367,7 +369,7 @@ set_perms(int perm)
            (int)ostate->rgid, (int)ostate->egid, (int)ostate->sgid,
            (int)state->rgid, (int)state->egid, (int)state->sgid);
        if (GID_CHANGED && setresgid(ID(rgid), ID(egid), ID(sgid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_IOLOG: setresgid(%d, %d, %d)",
                (int)ID(rgid), (int)ID(egid), (int)ID(sgid));
            goto bad;
@@ -377,7 +379,7 @@ set_perms(int perm)
            (int)ostate->ruid, (int)ostate->euid, (int)ostate->suid,
            (int)state->ruid, (int)state->euid, (int)state->suid);
        if (UID_CHANGED && setresuid(ID(ruid), ID(euid), ID(suid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_IOLOG: setresuid(%d, %d, %d)",
                (int)ID(ruid), (int)ID(euid), (int)ID(suid));
            goto bad;
@@ -512,7 +514,7 @@ set_perms(int perm)
            (int)ostate->ruid, (int)ostate->euid, (int)ostate->suid,
            (int)state->ruid, (int)state->euid, (int)state->suid);
        if (UID_CHANGED && setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, ROOT_UID)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_ROOT: setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, %d)",
                ROOT_UID);
            goto bad;
@@ -541,7 +543,7 @@ set_perms(int perm)
            (int)ostate->rgid, (int)ostate->egid, (int)ostate->sgid,
            (int)state->rgid, (int)state->egid, (int)state->sgid);
        if (GID_CHANGED && setgidx(ID_EFFECTIVE, user_gid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_USER: setgidx(ID_EFFECTIVE, %d)", (int)user_gid);
            goto bad;
        }
@@ -562,14 +564,14 @@ set_perms(int perm)
            (int)state->ruid, (int)state->euid, (int)state->suid);
        if (ostate->euid != ROOT_UID || ostate->suid != ROOT_UID) {
            if (setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, ROOT_UID)) {
-               snprintf(errbuf, sizeof(errbuf),
+               (void)snprintf(errbuf, sizeof(errbuf),
                    "PERM_USER: setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, %d)",
                    ROOT_UID);
                goto bad;
            }
        }
        if (setuidx(ID_EFFECTIVE|ID_REAL, user_uid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_USER: setuidx(ID_EFFECTIVE|ID_REAL, %d)", (int)user_uid);
            goto bad;
        }
@@ -585,7 +587,7 @@ set_perms(int perm)
            (int)ostate->rgid, (int)ostate->egid, (int)ostate->sgid,
            (int)state->rgid, (int)state->egid, (int)state->sgid);
        if (GID_CHANGED && setgidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, user_gid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_FULL_USER: setgidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, %d)",
                (int)user_gid);
            goto bad;
@@ -606,7 +608,7 @@ set_perms(int perm)
            (int)ostate->ruid, (int)ostate->euid, (int)ostate->suid,
            (int)state->ruid, (int)state->euid, (int)state->suid);
        if (UID_CHANGED && setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, user_uid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_FULL_USER: setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, %d)",
                (int)user_uid);
            goto bad;
@@ -678,14 +680,14 @@ set_perms(int perm)
        if (UID_CHANGED) {
            if (ostate->ruid != ROOT_UID || ostate->suid != ROOT_UID) {
                if (setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, ROOT_UID)) {
-                   snprintf(errbuf, sizeof(errbuf),
+                   (void)snprintf(errbuf, sizeof(errbuf),
                        "PERM_SUDOERS: setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, %d)",
                        ROOT_UID);
                    goto bad;
                }
            }
            if (setuidx(ID_EFFECTIVE, state->euid)) {
-               snprintf(errbuf, sizeof(errbuf),
+               (void)snprintf(errbuf, sizeof(errbuf),
                    "PERM_SUDOERS: setuidx(ID_EFFECTIVE, %d)", (int)sudoers_uid);
                goto bad;
            }
@@ -708,14 +710,14 @@ set_perms(int perm)
        if (UID_CHANGED) {
            if (ostate->ruid != ROOT_UID || ostate->suid != ROOT_UID) {
                if (setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, ROOT_UID)) {
-                   snprintf(errbuf, sizeof(errbuf),
+                   (void)snprintf(errbuf, sizeof(errbuf),
                        "PERM_TIMESTAMP: setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, %d)",
                        ROOT_UID);
                    goto bad;
                }
            }
            if (setuidx(ID_EFFECTIVE, timestamp_uid)) {
-               snprintf(errbuf, sizeof(errbuf),
+               (void)snprintf(errbuf, sizeof(errbuf),
                    "PERM_TIMESTAMP: setuidx(ID_EFFECTIVE, %d)",
                    (int)timestamp_uid);
                goto bad;
@@ -737,7 +739,7 @@ set_perms(int perm)
            (int)ostate->rgid, (int)ostate->egid, (int)ostate->sgid,
            (int)state->rgid, (int)state->egid, (int)state->sgid);
        if (GID_CHANGED && setgidx(ID_EFFECTIVE, iolog_gid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_IOLOG: setgidx(ID_EFFECTIVE, %d)", (int)iolog_gid);
            goto bad;
        }
@@ -748,14 +750,14 @@ set_perms(int perm)
        if (UID_CHANGED) {
            if (ostate->ruid != ROOT_UID || ostate->suid != ROOT_UID) {
                if (setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, ROOT_UID)) {
-                   snprintf(errbuf, sizeof(errbuf),
+                   (void)snprintf(errbuf, sizeof(errbuf),
                        "PERM_IOLOG: setuidx(ID_EFFECTIVE|ID_REAL|ID_SAVED, %d)",
                        ROOT_UID);
                    goto bad;
                }
            }
            if (setuidx(ID_EFFECTIVE, timestamp_uid)) {
-               snprintf(errbuf, sizeof(errbuf),
+               (void)snprintf(errbuf, sizeof(errbuf),
                    "PERM_IOLOG: setuidx(ID_EFFECTIVE, %d)",
                    (int)timestamp_uid);
                goto bad;
@@ -955,14 +957,14 @@ set_perms(int perm)
         */
        if (ostate->euid != ROOT_UID) {
            if (setreuid(-1, ROOT_UID)) {
-               snprintf(errbuf, sizeof(errbuf),
+               (void)snprintf(errbuf, sizeof(errbuf),
                    "PERM_ROOT: setreuid(-1, %d)", ROOT_UID);
                goto bad;
            }
        }
        if (ostate->ruid != ROOT_UID) {
            if (setreuid(ROOT_UID, -1)) {
-               snprintf(errbuf, sizeof(errbuf),
+               (void)snprintf(errbuf, sizeof(errbuf),
                    "PERM_ROOT: setreuid(%d, -1)", ROOT_UID);
                goto bad;
            }
@@ -973,7 +975,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->rgid,
            (int)ostate->egid, (int)state->rgid, (int)state->egid);
        if (GID_CHANGED && setregid(ID(rgid), ID(egid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_ROOT: setregid(%d, %d)", (int)ID(rgid), (int)ID(egid));
            goto bad;
        }
@@ -988,7 +990,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->rgid,
            (int)ostate->egid, (int)state->rgid, (int)state->egid);
        if (GID_CHANGED && setregid(ID(rgid), ID(egid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_USER: setregid(%d, %d)", (int)ID(rgid), (int)ID(egid));
            goto bad;
        }
@@ -1006,7 +1008,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (UID_CHANGED && setreuid(ID(ruid), ID(euid))) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_USER: setreuid(%d, %d)", (int)ID(ruid), (int)ID(euid));
            goto bad;
        }
@@ -1020,7 +1022,8 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->rgid,
            (int)ostate->egid, (int)state->rgid, (int)state->egid);
        if (GID_CHANGED && setregid(ID(rgid), ID(egid))) {
-           snprintf(errbuf, sizeof(errbuf), "PERM_FULL_USER: setregid(%d, %d)",
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "PERM_FULL_USER: setregid(%d, %d)",
                (int)ID(rgid), (int)ID(egid));
            goto bad;
        }
@@ -1038,7 +1041,8 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (UID_CHANGED && setreuid(ID(ruid), ID(euid))) {
-           snprintf(errbuf, sizeof(errbuf), "PERM_FULL_USER: setreuid(%d, %d)",
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "PERM_FULL_USER: setreuid(%d, %d)",
                (int)ID(ruid), (int)ID(euid));
            goto bad;
        }
@@ -1099,7 +1103,8 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (UID_CHANGED && setreuid(ID(ruid), ID(euid))) {
-           snprintf(errbuf, sizeof(errbuf), "PERM_SUDOERS: setreuid(%d, %d)",
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "PERM_SUDOERS: setreuid(%d, %d)",
                (int)ID(ruid), (int)ID(euid));
            goto bad;
        }
@@ -1116,7 +1121,8 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (UID_CHANGED && setreuid(ID(ruid), ID(euid))) {
-           snprintf(errbuf, sizeof(errbuf), "PERM_TIMESTAMP: setreuid(%d, %d)",
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "PERM_TIMESTAMP: setreuid(%d, %d)",
                (int)ID(ruid), (int)ID(euid));
            goto bad;
        }
@@ -1133,7 +1139,8 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->rgid,
            (int)ostate->egid, (int)state->rgid, (int)state->egid);
        if (GID_CHANGED && setregid(ID(rgid), ID(egid))) {
-           snprintf(errbuf, sizeof(errbuf), "PERM_IOLOG: setregid(%d, %d)",
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "PERM_IOLOG: setregid(%d, %d)",
                (int)ID(rgid), (int)ID(egid));
            goto bad;
        }
@@ -1141,7 +1148,8 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (UID_CHANGED && setreuid(ID(ruid), ID(euid))) {
-           snprintf(errbuf, sizeof(errbuf), "PERM_IOLOG: setreuid(%d, %d)",
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "PERM_IOLOG: setreuid(%d, %d)",
                (int)ID(ruid), (int)ID(euid));
            goto bad;
        }
@@ -1263,11 +1271,13 @@ set_perms(int perm)
      */
     if (perm != PERM_INITIAL) {
        if (ostate->euid != ROOT_UID && seteuid(ROOT_UID)) {
-           snprintf(errbuf, sizeof(errbuf), "set_perms: seteuid(%d)", ROOT_UID);
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "set_perms: seteuid(%d)", ROOT_UID);
            goto bad;
        }
        if (ostate->ruid != ROOT_UID && setuid(ROOT_UID)) {
-           snprintf(errbuf, sizeof(errbuf), "set_perms: setuid(%d)", ROOT_UID);
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "set_perms: setuid(%d)", ROOT_UID);
            goto bad;
        }
     }
@@ -1314,7 +1324,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->rgid,
            (int)ostate->egid, (int)state->rgid, (int)state->egid);
        if (GID_CHANGED && setegid(user_gid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_USER: setegid(%d)", (int)user_gid);
            goto bad;
        }
@@ -1332,7 +1342,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (seteuid(user_uid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_USER: seteuid(%d)", (int)user_uid);
            goto bad;
        }
@@ -1346,7 +1356,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->rgid,
            (int)ostate->egid, (int)state->rgid, (int)state->egid);
        if (GID_CHANGED && setgid(user_gid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_FULL_USER: setgid(%d)", (int)user_gid);
            goto bad;
        }
@@ -1364,7 +1374,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (setuid(user_uid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_FULL_USER: setuid(%d)", (int)user_uid);
            goto bad;
        }
@@ -1425,7 +1435,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (seteuid(state->euid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_SUDOERS: seteuid(%d)", (int)state->euid);
            goto bad;
        }
@@ -1442,7 +1452,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (seteuid(timestamp_uid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_TIMESTAMP: seteuid(%d)", (int)timestamp_uid);
            goto bad;
        }
@@ -1459,7 +1469,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->rgid,
            (int)ostate->egid, (int)state->rgid, (int)state->egid);
        if (GID_CHANGED && setegid(iolog_gid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_IOLOG: setegid(%d)", (int)iolog_gid);
            goto bad;
        }
@@ -1467,7 +1477,7 @@ set_perms(int perm)
            "[%d, %d] -> [%d, %d]", __func__, (int)ostate->ruid,
            (int)ostate->euid, (int)state->ruid, (int)state->euid);
        if (seteuid(timestamp_uid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_IOLOG: seteuid(%d)", (int)timestamp_uid);
            goto bad;
        }
@@ -1592,7 +1602,8 @@ set_perms(int perm)
        sudo_debug_printf(SUDO_DEBUG_INFO, "%s: PERM_ROOT: uid: "
            "[%d] -> [%d]", __func__, (int)ostate->ruid, (int)state->ruid);
        if (setuid(ROOT_UID)) {
-           snprintf(errbuf, sizeof(errbuf), "PERM_ROOT: setuid(%d)", ROOT_UID);
+           (void)snprintf(errbuf, sizeof(errbuf),
+               "PERM_ROOT: setuid(%d)", ROOT_UID);
            goto bad;
        }
        sudo_debug_printf(SUDO_DEBUG_INFO, "%s: PERM_ROOT: gid: "
@@ -1620,7 +1631,7 @@ set_perms(int perm)
        sudo_debug_printf(SUDO_DEBUG_INFO, "%s: PERM_FULL_USER: uid: "
            "[%d] -> [%d]", __func__, (int)ostate->ruid, (int)state->ruid);
        if (setuid(user_uid)) {
-           snprintf(errbuf, sizeof(errbuf),
+           (void)snprintf(errbuf, sizeof(errbuf),
                "PERM_FULL_USER: setuid(%d)", (int)user_uid);
            goto bad;
        }
index 62ce1d3895bcd09c438d6493654e3d6cdb0c5140..c2fe0f4a568214977ebe9bf3bbd3bc0f988279d8 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2017 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2012-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -145,7 +145,7 @@ get_starttime(pid_t pid, struct timespec *starttime)
     debug_decl(get_starttime, SUDOERS_DEBUG_UTIL)
 
     /* Determine the start time from pr_start in /proc/pid/psinfo. */
-    snprintf(path, sizeof(path), "/proc/%u/psinfo", (unsigned int)pid);
+    (void)snprintf(path, sizeof(path), "/proc/%u/psinfo", (unsigned int)pid);
     if ((fd = open(path, O_RDONLY, 0)) != -1) {
        nread = read(fd, &psinfo, sizeof(psinfo));
        close(fd);
@@ -189,7 +189,7 @@ get_starttime(pid_t pid, struct timespec *starttime)
      * Ignore /proc/self/stat if it contains embedded NUL bytes.
      * XXX - refactor common code with ttyname.c?
      */
-    snprintf(path, sizeof(path), "/proc/%u/stat", (unsigned int)pid);
+    (void)snprintf(path, sizeof(path), "/proc/%u/stat", (unsigned int)pid);
     if ((fd = open(path, O_RDONLY | O_NOFOLLOW)) != -1) {
        cp = buf;
        while ((nread = read(fd, cp, buf + sizeof(buf) - cp)) != 0) {
index 1267949b8a74f15ca56fb5ed890c86c725dcb225..2cf70f970781eadee215a16be6028d9ff101a0db 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1993-1996, 1998-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 1993-1996, 1998-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -1244,7 +1244,7 @@ create_admin_success_flag(void)
     /* Build path to flag file. */
     len = snprintf(flagfile, sizeof(flagfile), "%s/.sudo_as_admin_successful",
        user_dir);
-    if (len <= 0 || (size_t)len >= sizeof(flagfile))
+    if (len <= 0 || len >= (int)sizeof(flagfile))
        debug_return_int(false);
 
     /* Create admin flag file if it doesn't already exist. */
index a447cd0e4cf0f49937b3685a9f12cd6d4cb64e70..e20f5f0353b806557e0e7a26c6d3c53a82808371 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -315,13 +315,13 @@ main(int argc, char *argv[])
     if (VALID_ID(id)) {
        plen = snprintf(path, sizeof(path), "%s/%.2s/%.2s/%.2s/timing",
            session_dir, id, &id[2], &id[4]);
-       if (plen <= 0 || (size_t)plen >= sizeof(path))
+       if (plen <= 0 || plen >= (int)sizeof(path))
            sudo_fatalx(U_("%s/%.2s/%.2s/%.2s/timing: %s"), session_dir,
                id, &id[2], &id[4], strerror(ENAMETOOLONG));
     } else {
        plen = snprintf(path, sizeof(path), "%s/%s/timing",
            session_dir, id);
-       if (plen <= 0 || (size_t)plen >= sizeof(path))
+       if (plen <= 0 || plen >= (int)sizeof(path))
            sudo_fatalx(U_("%s/%s/timing: %s"), session_dir,
                id, strerror(ENAMETOOLONG));
     }
@@ -617,7 +617,7 @@ xterm_set_size(int rows, int cols)
 
     /* XXX - save cursor and position restore after resizing */
     len = snprintf(buf, sizeof(buf), setsize_fmt, rows, cols);
-    if (len < 0 || len >= (int)sizeof(buf)) {
+    if (len <= 0 || len >= (int)sizeof(buf)) {
        /* not possible due to size of buf */
        sudo_debug_printf(SUDO_DEBUG_ERROR|SUDO_DEBUG_LINENO,
            "%s: internal error, buffer too small?", __func__);
index 5930103ea782d4f3623e8917092cfcde28c99944..d926cdd4ea7360086ae76714b418c9ff18a64ca4 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2014-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -1021,7 +1021,7 @@ already_lectured(int unused)
     if (ts_secure_dir(def_lecture_status_dir, false, true)) {
        len = snprintf(status_file, sizeof(status_file), "%s/%s",
            def_lecture_status_dir, user_name);
-       if (len > 0 && (size_t)len < sizeof(status_file)) {
+       if (len > 0 && len < (int)sizeof(status_file)) {
            debug_return_bool(stat(status_file, &sb) == 0);
        }
        log_warningx(SLOG_SEND_MAIL, N_("lecture status path too long: %s/%s"),
@@ -1043,7 +1043,7 @@ set_lectured(void)
 
     len = snprintf(lecture_status, sizeof(lecture_status), "%s/%s",
        def_lecture_status_dir, user_name);
-    if (len <= 0 || (size_t)len >= sizeof(lecture_status)) {
+    if (len <= 0 || len >= (int)sizeof(lecture_status)) {
        log_warningx(SLOG_SEND_MAIL, N_("lecture status path too long: %s/%s"),
            def_lecture_status_dir, user_name);
        goto done;
index 91a26cec7fdaee7d85e9d5594b1a3e4fda5f0301..f2f8fc6db68cd981be02fa628fea86f740703008 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2018-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -205,7 +205,7 @@ type2string(int type)
     case TS_PPID:
        debug_return_str("TS_PPID");
     }
-    snprintf(name, sizeof(name), "UNKNOWN (0x%x)", type);
+    (void)snprintf(name, sizeof(name), "UNKNOWN (0x%x)", type);
     debug_return_str(name);
 }
 
index 4a81b5dddc920b54915955d870650ba38fc29116..66afd3df10531ab70180cba55eaa73b38fc42d25 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -86,11 +86,11 @@ deliver_signal(struct monitor_closure *mc, int signo, bool from_parent)
        debug_return;
 
     if (signo == SIGCONT_FG)
-       strlcpy(signame, "CONT_FG", sizeof(signame));
+       (void)strlcpy(signame, "CONT_FG", sizeof(signame));
     else if (signo == SIGCONT_BG)
-       strlcpy(signame, "CONT_BG", sizeof(signame));
+       (void)strlcpy(signame, "CONT_BG", sizeof(signame));
     else if (sig2str(signo, signame) == -1)
-       snprintf(signame, sizeof(signame), "%d", signo);
+       (void)snprintf(signame, sizeof(signame), "%d", signo);
 
     /* Handle signal from parent or monitor. */
     sudo_debug_printf(SUDO_DEBUG_INFO, "received SIG%s%s",
@@ -216,12 +216,12 @@ mon_handle_sigchld(struct monitor_closure *mc)
            __func__, (int)mc->cmnd_pid);
     } else if (WIFSTOPPED(status)) {
        if (sig2str(WSTOPSIG(status), signame) == -1)
-           snprintf(signame, sizeof(signame), "%d", WSTOPSIG(status));
+           (void)snprintf(signame, sizeof(signame), "%d", WSTOPSIG(status));
        sudo_debug_printf(SUDO_DEBUG_INFO, "%s: command (%d) stopped, SIG%s",
            __func__, (int)mc->cmnd_pid, signame);
     } else if (WIFSIGNALED(status)) {
        if (sig2str(WTERMSIG(status), signame) == -1)
-           snprintf(signame, sizeof(signame), "%d", WTERMSIG(status));
+           (void)snprintf(signame, sizeof(signame), "%d", WTERMSIG(status));
        sudo_debug_printf(SUDO_DEBUG_INFO, "%s: command (%d) killed, SIG%s",
            __func__, (int)mc->cmnd_pid, signame);
        mc->cmnd_pid = -1;
index 0df79f003caf6798bae22c0ece908b749a5378ac..dd7ba6c42f31d97c38d2974f74b64499ef436d62 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2017 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -123,7 +123,7 @@ signal_cb_nopty(int signo, int what, void *v)
        debug_return;
 
     if (sig2str(signo, signame) == -1)
-       snprintf(signame, sizeof(signame), "%d", signo);
+       (void)snprintf(signame, sizeof(signame), "%d", signo);
     sudo_debug_printf(SUDO_DEBUG_DIAG,
        "%s: evbase %p, command: %d, signo %s(%d), cstat %p",
        __func__, ec->evbase, (int)ec->cmnd_pid, signame, signo, ec->cstat);
@@ -482,7 +482,7 @@ handle_sigchld_nopty(struct exec_closure_nopty *ec)
        int fd, signo = WSTOPSIG(status);
 
        if (sig2str(signo, signame) == -1)
-           snprintf(signame, sizeof(signame), "%d", signo);
+           (void)snprintf(signame, sizeof(signame), "%d", signo);
        sudo_debug_printf(SUDO_DEBUG_INFO, "%s: command (%d) stopped, SIG%s",
            __func__, (int)ec->cmnd_pid, signame);
 
@@ -550,7 +550,7 @@ handle_sigchld_nopty(struct exec_closure_nopty *ec)
        /* Command has exited or been killed, we are done. */
        if (WIFSIGNALED(status)) {
            if (sig2str(WTERMSIG(status), signame) == -1)
-               snprintf(signame, sizeof(signame), "%d", WTERMSIG(status));
+               (void)snprintf(signame, sizeof(signame), "%d", WTERMSIG(status));
            sudo_debug_printf(SUDO_DEBUG_INFO, "%s: command (%d) killed, SIG%s",
                __func__, (int)ec->cmnd_pid, signame);
        } else {
index c1ccd4be525f1b343241ed3aae30781aa8ff3093..eb1e36f559f8ebfdac8989d6bb88b8c638bf540f 100644 (file)
@@ -513,7 +513,7 @@ suspend_sudo(struct exec_closure_pty *ec, int signo)
        log_suspend(signo);
 
        if (sig2str(signo, signame) == -1)
-           snprintf(signame, sizeof(signame), "%d", signo);
+           (void)snprintf(signame, sizeof(signame), "%d", signo);
 
        /* Suspend self and continue command when we resume. */
        if (signo != SIGSTOP) {
@@ -872,7 +872,7 @@ schedule_signal(struct exec_closure_pty *ec, int signo)
     else if (signo == SIGCONT_BG)
        strlcpy(signame, "CONT_BG", sizeof(signame));
     else if (sig2str(signo, signame) == -1)
-       snprintf(signame, sizeof(signame), "%d", signo);
+       (void)snprintf(signame, sizeof(signame), "%d", signo);
     sudo_debug_printf(SUDO_DEBUG_DIAG, "scheduled SIG%s for command", signame);
 
     send_command_status(ec, CMD_SIGNO, signo);
@@ -1014,7 +1014,7 @@ handle_sigchld_pty(struct exec_closure_pty *ec)
     } else if (WIFSIGNALED(status)) {
        char signame[SIG2STR_MAX];
        if (sig2str(WTERMSIG(status), signame) == -1)
-           snprintf(signame, sizeof(signame), "%d", WTERMSIG(status));
+           (void)snprintf(signame, sizeof(signame), "%d", WTERMSIG(status));
        sudo_debug_printf(SUDO_DEBUG_INFO, "%s: monitor (%d) killed, SIG%s",
            __func__, (int)ec->monitor_pid, signame);
        ec->monitor_pid = -1;
@@ -1039,7 +1039,7 @@ signal_cb_pty(int signo, int what, void *v)
        debug_return;
 
     if (sig2str(signo, signame) == -1)
-       snprintf(signame, sizeof(signame), "%d", signo);
+       (void)snprintf(signame, sizeof(signame), "%d", signo);
     sudo_debug_printf(SUDO_DEBUG_DIAG,
        "%s: evbase %p, monitor: %d, signo %s(%d), cstat %p", __func__,
        ec->evbase, (int)ec->monitor_pid, signame, signo, ec->cstat);
@@ -1096,7 +1096,7 @@ fwdchannel_cb(int sock, int what, void *v)
            else if (msg->cstat.val == SIGCONT_BG)
                strlcpy(signame, "CONT_BG", sizeof(signame));
            else if (sig2str(msg->cstat.val, signame) == -1)
-               snprintf(signame, sizeof(signame), "%d", msg->cstat.val);
+               (void)snprintf(signame, sizeof(signame), "%d", msg->cstat.val);
            sudo_debug_printf(SUDO_DEBUG_INFO,
                "sending SIG%s to monitor over backchannel", signame);
            break;
index c81f946173de51cadc61e3cfdc6577f235df13e2..8b7cde85f19d20a64e6551a7481d42c28fb42e7f 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2009-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -862,7 +862,7 @@ sudo_check_suid(const char *sudo)
 
                    int len = snprintf(pathbuf, sizeof(pathbuf), "%.*s/%s",
                        (int)(ep - cp), cp, sudo);
-                   if (len <= 0 || (size_t)len >= sizeof(pathbuf))
+                   if (len <= 0 || len >= (int)sizeof(pathbuf))
                        continue;
                    if (access(pathbuf, X_OK) == 0) {
                        sudo = pathbuf;
index 580bafdd30d9d5528b2b81408fd07baed4588445..adb19e5c773934193c3582d428f25c1cc6a6b728 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2012-2018 Todd C. Miller <Todd.Miller@sudo.ws>
+ * Copyright (c) 2012-2019 Todd C. Miller <Todd.Miller@sudo.ws>
  *
  * Permission to use, copy, modify, and distribute this software for any
  * purpose with or without fee is hereby granted, provided that the above
@@ -158,7 +158,7 @@ get_process_ttyname(char *name, size_t namelen)
     debug_decl(get_process_ttyname, SUDO_DEBUG_UTIL)
 
     /* Try to determine the tty from pr_ttydev in /proc/pid/psinfo. */
-    snprintf(path, sizeof(path), "/proc/%u/psinfo", (unsigned int)getpid());
+    (void)snprintf(path, sizeof(path), "/proc/%u/psinfo", (unsigned int)getpid());
     if ((fd = open(path, O_RDONLY, 0)) != -1) {
        nread = read(fd, &psinfo, sizeof(psinfo));
        close(fd);