From c17e4638e5592688264fc0349f61bfc7b4425aa5 Mon Sep 17 00:00:00 2001 From: Damien Miller Date: Fri, 13 Sep 2019 13:12:42 +1000 Subject: explicitly test set[ug]id() return values Legacy !_POSIX_SAVED_IDS path only; coverity report via Ed Maste ok dtucker@ --- uidswap.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/uidswap.c b/uidswap.c index 1d78c607a..40e121503 100644 --- a/uidswap.c +++ b/uidswap.c @@ -162,8 +162,10 @@ restore_uid(void) * Propagate the real uid (usually more privileged) to effective uid * as well. */ - setuid(getuid()); - setgid(getgid()); + if (setuid(getuid()) == -1) + fatal("%s: setuid failed: %s", __func__, strerror(errno)); + if (setgid(getgid()) == -1) + fatal("%s: setgid failed: %s", __func__, strerror(errno)); #endif /* SAVED_IDS_WORK_WITH_SETEUID */ if (setgroups(saved_egroupslen, saved_egroups) == -1) -- cgit v1.2.3