diff --git a/common/sudo_debug.c b/common/sudo_debug.c index 10251cf24..c46bf3634 100644 --- a/common/sudo_debug.c +++ b/common/sudo_debug.c @@ -146,7 +146,7 @@ int sudo_debug_init(const char *debugfile, const char *settings) } if (sudo_debug_fd == -1) return 0; - fchown(sudo_debug_fd, (uid_t)-1, 0); + ignore_result(fchown(sudo_debug_fd, (uid_t)-1, 0)); } (void)fcntl(sudo_debug_fd, F_SETFD, FD_CLOEXEC); sudo_debug_mode = SUDO_DEBUG_MODE_FILE; diff --git a/plugins/sudoers/iolog.c b/plugins/sudoers/iolog.c index 7a99b4afb..ce5c86e4d 100644 --- a/plugins/sudoers/iolog.c +++ b/plugins/sudoers/iolog.c @@ -139,7 +139,7 @@ io_mkdirs(char *path, mode_t mode, bool is_temp) if (stat(path, &sb) != 0) { if (mkdir(path, mode) != 0) log_fatal(USE_ERRNO, N_("unable to mkdir %s"), path); - (void) chown(path, (uid_t)-1, parent_gid); + ignore_result(chown(path, (uid_t)-1, parent_gid)); } else if (!S_ISDIR(sb.st_mode)) { log_fatal(0, N_("%s exists but is not a directory (0%o)"), path, (unsigned int) sb.st_mode); @@ -153,11 +153,11 @@ io_mkdirs(char *path, mode_t mode, bool is_temp) if (is_temp) { if (mkdtemp(path) == NULL) log_fatal(USE_ERRNO, N_("unable to mkdir %s"), path); - (void) chown(path, (uid_t)-1, parent_gid); + ignore_result(chown(path, (uid_t)-1, parent_gid)); } else { if (mkdir(path, mode) != 0 && errno != EEXIST) log_fatal(USE_ERRNO, N_("unable to mkdir %s"), path); - (void) chown(path, (uid_t)-1, parent_gid); + ignore_result(chown(path, (uid_t)-1, parent_gid)); } debug_return; } diff --git a/plugins/sudoers/set_perms.c b/plugins/sudoers/set_perms.c index 278392a67..a887a5124 100644 --- a/plugins/sudoers/set_perms.c +++ b/plugins/sudoers/set_perms.c @@ -1085,7 +1085,7 @@ restore_perms(void) if (OID(euid) == ROOT_UID) { /* setuid() may not set the saved ID unless the euid is ROOT_UID */ if (ID(euid) != ROOT_UID) - (void)setreuid(-1, ROOT_UID); + ignore_result(setreuid(-1, ROOT_UID)); if (setuid(ROOT_UID)) { warning("setuid() [%d, %d] -> %d)", (int)state->ruid, (int)state->euid, ROOT_UID); diff --git a/src/sudo.c b/src/sudo.c index 5a849efd3..0de32d4c1 100644 --- a/src/sudo.c +++ b/src/sudo.c @@ -276,7 +276,8 @@ main(int argc, char *argv[], char *envp[]) if (ISSET(sudo_mode, MODE_BACKGROUND)) SET(command_details.flags, CD_BACKGROUND); /* Become full root (not just setuid) so user cannot kill us. */ - (void) setuid(ROOT_UID); + if (setuid(ROOT_UID) == -1) + warning("setuid(%d)", ROOT_UID); /* Restore coredumpsize resource limit before running. */ #ifdef RLIMIT_CORE if (sudo_conf_disable_coredump()) diff --git a/src/tgetpass.c b/src/tgetpass.c index d8d77e1fa..31194b963 100644 --- a/src/tgetpass.c +++ b/src/tgetpass.c @@ -225,7 +225,8 @@ sudo_askpass(const char *askpass, const char *prompt) warning("dup2"); _exit(255); } - (void) setuid(ROOT_UID); + if (setuid(ROOT_UID) == -1) + warning("setuid(%d)", ROOT_UID); if (setgid(user_details.gid)) { warning(_("unable to set gid to %u"), (unsigned int)user_details.gid); _exit(255);