View | Details | Raw Unified | Return to bug 172276
Collapse All | Expand All

(-)sys/kern/kern_prot.c (-3 / +3 lines)
Lines 279-285 Link Here
279
279
280
#ifndef _SYS_SYSPROTO_H_
280
#ifndef _SYS_SYSPROTO_H_
281
struct getgroups_args {
281
struct getgroups_args {
282
	u_int	gidsetsize;
282
	int	gidsetsize;
283
	gid_t	*gidset;
283
	gid_t	*gidset;
284
};
284
};
285
#endif
285
#endif
Lines 801-807 Link Here
801
801
802
#ifndef _SYS_SYSPROTO_H_
802
#ifndef _SYS_SYSPROTO_H_
803
struct setgroups_args {
803
struct setgroups_args {
804
	u_int	gidsetsize;
804
	int	gidsetsize;
805
	gid_t	*gidset;
805
	gid_t	*gidset;
806
};
806
};
807
#endif
807
#endif
Lines 812-818 Link Here
812
	gid_t *groups = NULL;
812
	gid_t *groups = NULL;
813
	int error;
813
	int error;
814
814
815
	if (uap->gidsetsize > ngroups_max + 1)
815
	if (uap->gidsetsize < 0 || uap->gidsetsize > ngroups_max + 1)
816
		return (EINVAL);
816
		return (EINVAL);
817
	groups = malloc(uap->gidsetsize * sizeof(gid_t), M_TEMP, M_WAITOK);
817
	groups = malloc(uap->gidsetsize * sizeof(gid_t), M_TEMP, M_WAITOK);
818
	error = copyin(uap->gidset, groups, uap->gidsetsize * sizeof(gid_t));
818
	error = copyin(uap->gidset, groups, uap->gidsetsize * sizeof(gid_t));
(-)sys/kern/systrace_args.c (-2 / +2 lines)
Lines 491-497 Link Here
491
	/* getgroups */
491
	/* getgroups */
492
	case 79: {
492
	case 79: {
493
		struct getgroups_args *p = params;
493
		struct getgroups_args *p = params;
494
		uarg[0] = p->gidsetsize; /* u_int */
494
		iarg[0] = p->gidsetsize; /* int */
495
		uarg[1] = (intptr_t) p->gidset; /* gid_t * */
495
		uarg[1] = (intptr_t) p->gidset; /* gid_t * */
496
		*n_args = 2;
496
		*n_args = 2;
497
		break;
497
		break;
Lines 499-505 Link Here
499
	/* setgroups */
499
	/* setgroups */
500
	case 80: {
500
	case 80: {
501
		struct setgroups_args *p = params;
501
		struct setgroups_args *p = params;
502
		uarg[0] = p->gidsetsize; /* u_int */
502
		iarg[0] = p->gidsetsize; /* int */
503
		uarg[1] = (intptr_t) p->gidset; /* gid_t * */
503
		uarg[1] = (intptr_t) p->gidset; /* gid_t * */
504
		*n_args = 2;
504
		*n_args = 2;
505
		break;
505
		break;
(-)sys/kern/syscalls.master (-2 / +2 lines)
Lines 183-191 Link Here
183
77	AUE_NULL	OBSOL	vlimit
183
77	AUE_NULL	OBSOL	vlimit
184
78	AUE_MINCORE	STD	{ int mincore(const void *addr, size_t len, \
184
78	AUE_MINCORE	STD	{ int mincore(const void *addr, size_t len, \
185
				    char *vec); }
185
				    char *vec); }
186
79	AUE_GETGROUPS	STD	{ int getgroups(u_int gidsetsize, \
186
79	AUE_GETGROUPS	STD	{ int getgroups(int gidsetsize, \
187
				    gid_t *gidset); }
187
				    gid_t *gidset); }
188
80	AUE_SETGROUPS	STD	{ int setgroups(u_int gidsetsize, \
188
80	AUE_SETGROUPS	STD	{ int setgroups(int gidsetsize, \
189
				    gid_t *gidset); }
189
				    gid_t *gidset); }
190
81	AUE_GETPGRP	STD	{ int getpgrp(void); }
190
81	AUE_GETPGRP	STD	{ int getpgrp(void); }
191
82	AUE_SETPGRP	STD	{ int setpgid(int pid, int pgid); }
191
82	AUE_SETPGRP	STD	{ int setpgid(int pid, int pgid); }
(-)sys/compat/freebsd32/syscalls.master (-2 / +2 lines)
Lines 181-189 Link Here
181
77	AUE_NULL	OBSOL	vlimit
181
77	AUE_NULL	OBSOL	vlimit
182
78	AUE_MINCORE	NOPROTO	{ int mincore(const void *addr, size_t len, \
182
78	AUE_MINCORE	NOPROTO	{ int mincore(const void *addr, size_t len, \
183
				    char *vec); }
183
				    char *vec); }
184
79	AUE_GETGROUPS	NOPROTO	{ int getgroups(u_int gidsetsize, \
184
79	AUE_GETGROUPS	NOPROTO	{ int getgroups(int gidsetsize, \
185
				    gid_t *gidset); }
185
				    gid_t *gidset); }
186
80	AUE_SETGROUPS	NOPROTO	{ int setgroups(u_int gidsetsize, \
186
80	AUE_SETGROUPS	NOPROTO	{ int setgroups(int gidsetsize, \
187
				    gid_t *gidset); }
187
				    gid_t *gidset); }
188
81	AUE_GETPGRP	NOPROTO	{ int getpgrp(void); }
188
81	AUE_GETPGRP	NOPROTO	{ int getpgrp(void); }
189
82	AUE_SETPGRP	NOPROTO	{ int setpgid(int pid, int pgid); }
189
82	AUE_SETPGRP	NOPROTO	{ int setpgid(int pid, int pgid); }

Return to bug 172276