Fix the counting of supplementary groups on AIX.

We should not assume that basegid will be present in the list of
gids returned by getgrset().
This commit is contained in:
Todd C. Miller
2019-03-18 14:08:21 -06:00
parent 194968eaf0
commit 731e796711

View File

@@ -144,6 +144,7 @@ sudo_getgrouplist2_v1(const char *name, GETGROUPS_T basegid,
/* Dynamically-sized group vector, count groups and alloc. */
grpsize = 1; /* reserve one for basegid */
if (*grset != '\0') {
grpsize++; /* at least one supplementary group */
for (cp = grset; *cp != '\0'; cp++) {
if (*cp == ',')
grpsize++;