/*
- * 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
"/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;
/* 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);
/* 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);
/*
- * 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
#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
/*
- * 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
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);
}
/*
- * 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
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;
}
}
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;
}
}
/*
- * 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
/* 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);
/*
- * 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
*/
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);
}
*/
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);
}
/*
- * 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
#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);
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);
/*
- * 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
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);
/*
- * 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
* 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;
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) {
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;
}
/*
- * 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.
*
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) {
/*
- * 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.
*
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);
}
/*
- * 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.
*
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) {
/*
- * 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
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;
/*
- * 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
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);
/*
- * 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
#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);
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);
/*
- * 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
(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;
(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;
}
(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;
}
(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;
(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;
(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;
(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;
(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;
(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;
(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;
(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;
}
(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;
}
(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;
(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;
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;
}
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;
(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;
}
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;
*/
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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
*/
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;
}
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
"[%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;
}
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: "
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;
}
/*
- * 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
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);
* 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) {
/*
- * 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
/* 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. */
/*
- * 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
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));
}
/* 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__);
/*
- * 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
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"),
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;
/*
- * 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
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);
}
/*
- * 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
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",
__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;
/*
- * 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
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);
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);
/* 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 {
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) {
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);
} 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;
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);
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;
/*
- * 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
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;
/*
- * 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
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);