X-Git-Url: http://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=blobdiff_plain;f=src%2Fbasic%2Fcapability-util.c;h=4a78b14d81221cd7a35106b338695dd6fbc4280e;hb=d5949929f1247b0407637a44f388365e3966ef91;hp=a9c21fef2aca5ca77d3c56a1d02b1169dce3b34e;hpb=66ecc207e203db5434610395cd04c40ae8727b58;p=elogind.git 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)