Page MenuHomeFreeBSD

D30617.id90336.diff
No OneTemporary

D30617.id90336.diff

Index: sys/kern/kern_prot.c
===================================================================
--- sys/kern/kern_prot.c
+++ sys/kern/kern_prot.c
@@ -288,7 +288,7 @@
#ifndef _SYS_SYSPROTO_H_
struct getgroups_args {
- u_int gidsetsize;
+ int gidsetsize;
gid_t *gidset;
};
#endif
@@ -296,7 +296,7 @@
sys_getgroups(struct thread *td, struct getgroups_args *uap)
{
struct ucred *cred;
- u_int ngrp;
+ int ngrp;
int error;
cred = td->td_ucred;
@@ -791,7 +791,7 @@
#ifndef _SYS_SYSPROTO_H_
struct setgroups_args {
- u_int gidsetsize;
+ int gidsetsize;
gid_t *gidset;
};
#endif
@@ -801,11 +801,11 @@
{
gid_t smallgroups[XU_NGROUPS];
gid_t *groups;
- u_int gidsetsize;
+ int gidsetsize;
int error;
gidsetsize = uap->gidsetsize;
- if (gidsetsize > ngroups_max + 1)
+ if (gidsetsize > ngroups_max + 1 || gidsetsize < 0)
return (EINVAL);
if (gidsetsize > XU_NGROUPS)
Index: sys/kern/syscalls.master
===================================================================
--- sys/kern/syscalls.master
+++ sys/kern/syscalls.master
@@ -523,13 +523,13 @@
}
79 AUE_GETGROUPS STD {
int getgroups(
- u_int gidsetsize,
+ int gidsetsize,
_Out_writes_opt_(gidsetsize) gid_t *gidset
);
}
80 AUE_SETGROUPS STD {
int setgroups(
- u_int gidsetsize,
+ int gidsetsize,
_In_reads_(gidsetsize) gid_t *gidset
);
}

File Metadata

Mime Type
text/plain
Expires
Sun, Oct 18, 3:03 AM (25 m, 56 s)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
40978612
Default Alt Text
D30617.id90336.diff (1 KB)

Event Timeline