Subject: fatal: getgroups: Invalid argument
To: None <current-users@netbsd.org>
From: Kurt Schreiner <ks@ub.uni-mainz.de>
List: current-users
Date: 06/30/2007 23:23:16
Hi,
after upgrading to current -current as of an hour or so ago I got
the error above from sshd trying to ssh to the upgraded machine.
The following patch remedies this and brings sys_getgroups to par
with what the manual for getgroups(2) states: (at least by my reading
of manual and code ;-)
[...]
ERRORS
The possible errors for getgroups() are:
[EINVAL] The argument gidsetlen is non-zero and is smaller than
the number of groups in the group set.
[...]
cvs diff -u kern_prot.c
Index: kern_prot.c
===================================================================
RCS file: /cvsroot/src/sys/kern/kern_prot.c,v
retrieving revision 1.103
diff -u -r1.103 kern_prot.c
--- kern_prot.c 30 Jun 2007 13:32:14 -0000 1.103
+++ kern_prot.c 30 Jun 2007 21:11:53 -0000
@@ -235,7 +235,7 @@
*retval = kauth_cred_ngroups(l->l_cred);
if (SCARG(uap, gidsetsize) == 0)
return 0;
- if (SCARG(uap, gidsetsize) > *retval)
+ if (SCARG(uap, gidsetsize) < *retval)
return EINVAL;
return kauth_cred_getgroups(l->l_cred, SCARG(uap, gidset), *retval,
Kurt