Almost no systems actually define OPEN_MAX since it is dynamic on
modern OSes. If sysconf(_SC_OPEN_MAX) ever fails, fall back on _POSIX_OPEN_MAX instead. We can assume modern systems have sysconf(). Also remove checks for strrchr() and strtoll() for which the HAVE_* defines are no longer used.
This commit is contained in:
@@ -48,10 +48,8 @@ sudo_setgroups_v1(int ngids, const GETGROUPS_T *gids)
|
||||
rval = setgroups(ngids, (GETGROUPS_T *)gids);
|
||||
if (rval == -1 && errno == EINVAL) {
|
||||
/* Too many groups, try again with fewer. */
|
||||
#if defined(HAVE_SYSCONF) && defined(_SC_NGROUPS_MAX)
|
||||
maxgids = (int)sysconf(_SC_NGROUPS_MAX);
|
||||
if (maxgids == -1)
|
||||
#endif
|
||||
maxgids = NGROUPS_MAX;
|
||||
if (ngids > maxgids)
|
||||
rval = setgroups(maxgids, (GETGROUPS_T *)gids);
|
||||
|
Reference in New Issue
Block a user