X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?p=elogind.git;a=blobdiff_plain;f=src%2Fbasic%2Fcapability-util.c;h=4a78b14d81221cd7a35106b338695dd6fbc4280e;hp=a9c21fef2aca5ca77d3c56a1d02b1169dce3b34e;hb=9b00a533195b7fec54a791ca02090e0799214770;hpb=07045a1a92c839fd2af80bd0c060a595021bc3b3 diff --git a/src/basic/capability-util.c b/src/basic/capability-util.c index a9c21fef2..4a78b14d8 100644 --- a/src/basic/capability-util.c +++ b/src/basic/capability-util.c @@ -298,8 +298,9 @@ int drop_privileges(uid_t uid, gid_t gid, uint64_t keep_capabilities) { if (setresgid(gid, gid, gid) < 0) return log_error_errno(errno, "Failed to change group ID: %m"); - if (setgroups(0, NULL) < 0) - return log_error_errno(errno, "Failed to drop auxiliary groups list: %m"); + r = maybe_setgroups(0, NULL); + if (r < 0) + return log_error_errno(r, "Failed to drop auxiliary groups list: %m"); /* Ensure we keep the permitted caps across the setresuid() */ if (prctl(PR_SET_KEEPCAPS, 1) < 0)