On Tue, Nov 13, 2001 at 02:28:57PM -0800, Terry Lambert wrote: > Max Khon wrote: > > > > hi, there! > > > > Any objections if I will commit the following patch (see PR/15421)? > > Can setgroups return a positive number? If so, you've just changed > the semantics of the funtion; before, it used to return 0 on 0 or a > positive number. > No. setgroups() is a syscall, and as such returns either 0 or -1.
> Also, is removing the _warn() really the only thing you want to > accomplish? It should probably be seperate. > I have intended to commit the below patch for almost a year now, just haven't had enough time to actually fo it. NetBSD runs with this fix since 1999. Index: initgroups.c =================================================================== RCS file: /home/ncvs/src/lib/libc/gen/initgroups.c,v retrieving revision 1.4 diff -u -p -r1.4 initgroups.c --- initgroups.c 2001/08/29 13:52:26 1.4 +++ initgroups.c 2001/11/19 16:16:11 @@ -56,12 +56,6 @@ initgroups(uname, agroup) int groups[NGROUPS], ngroups; ngroups = NGROUPS; - if (getgrouplist(uname, agroup, groups, &ngroups) < 0) - warnx("%s is in too many groups, using first %d", - uname, ngroups); - if (setgroups(ngroups, groups) < 0) { - _warn("setgroups"); - return (-1); - } - return (0); + getgrouplist(uname, agroup, groups, &ngroups); + return (setgroups(ngroups, groups); } Index: initgroups.3 =================================================================== RCS file: /home/ncvs/src/lib/libc/gen/initgroups.3,v retrieving revision 1.10 diff -u -p -r1.10 initgroups.3 --- initgroups.3 2001/10/01 16:08:51 1.10 +++ initgroups.3 2001/11/19 16:16:11 @@ -61,10 +61,14 @@ is automatically included in the groups Typically this value is given as the group number from the password file. .Sh RETURN VALUES +.Rv -std initgroups +.Sh ERRORS The .Fn initgroups -function -returns \-1 if it was not invoked by the super-user. +function may fail and set +.Va errno +for any of the errors specified for the library function +.Xr setgroups 2 . .Sh SEE ALSO .Xr setgroups 2 , .Xr getgrouplist 3 Cheers, -- Ruslan Ermilov Oracle Developer/DBA, [EMAIL PROTECTED] Sunbay Software AG, [EMAIL PROTECTED] FreeBSD committer, +380.652.512.251 Simferopol, Ukraine http://www.FreeBSD.org The Power To Serve http://www.oracle.com Enabling The Information Age To Unsubscribe: send mail to [EMAIL PROTECTED] with "unsubscribe freebsd-current" in the body of the message