setgroups_needed_p (uid_t target_group)
{
gid_t groups[1024];
- int n = getgroups (sizeof(groups)-1, groups);
+ int n, size;
+ size = sizeof(groups) / sizeof(gid_t);
+ n = getgroups (size - 1, groups);
if (n < 0)
{
char buf [1024];
- sprintf (buf, "%s: getgroups(%d, ...)", blurb(), sizeof(groups)-1);
+ sprintf (buf, "%s: getgroups(%ld, ...)", blurb(), (long int)(size - 1));
perror (buf);
return 1;
}
{
char buf [1024];
gid_t groups[1024];
- int n;
+ int n, size;
if (sgs_errno)
{
}
fprintf (stderr, "%s: effective group list: ", blurb());
- n = getgroups (sizeof(groups)-1, groups);
+ size = sizeof(groups) / sizeof(gid_t);
+ n = getgroups (size - 1, groups);
if (n < 0)
fprintf (stderr, "unknown!\n");
else