10 static int trygroups(int n)
15 gids = malloc(sizeof(gid_t) * n);
19 if (setgroups(n, gids) != 0) {
24 memset(gids, 0, sizeof(gid_t) * n);
26 if (getgroups(n, gids) != n) {
36 int main(int argc, char *argv[])
41 printf("You must run this as root\n");
46 for (i=0;i<1000000;i++) {
47 if (trygroups(i) != 0) {
48 printf("\nmax of %d supplementary groups\n", i-1);
54 printf("\nno limit on supplementary groups!?\n");