nfs: Zero the buffers exported by NFSSVC_DUMPCLIENTS and DUMPLOCKS.
Note that these interfaces are available only to root. admbugs: 765 Reported by: Vlad Tsyrklevich <vlad@tsyrklevich.net> Reviewed by: rmacklem MFC after: 1 day Security: Kernel memory disclosure Sponsored by: The FreeBSD Foundation
This commit is contained in:
parent
504b5801bd
commit
d9463dd4f3
@ -3614,8 +3614,7 @@ nfssvc_srvcall(struct thread *p, struct nfssvc_args *uap, struct ucred *cred)
|
||||
error = EPERM;
|
||||
if (!error) {
|
||||
len = sizeof (struct nfsd_dumpclients) * dumplist.ndl_size;
|
||||
dumpclients = (struct nfsd_dumpclients *)malloc(len,
|
||||
M_TEMP, M_WAITOK);
|
||||
dumpclients = malloc(len, M_TEMP, M_WAITOK | M_ZERO);
|
||||
nfsrv_dumpclients(dumpclients, dumplist.ndl_size);
|
||||
error = copyout(dumpclients,
|
||||
CAST_USER_ADDR_T(dumplist.ndl_list), len);
|
||||
@ -3633,8 +3632,7 @@ nfssvc_srvcall(struct thread *p, struct nfssvc_args *uap, struct ucred *cred)
|
||||
if (!error) {
|
||||
len = sizeof (struct nfsd_dumplocks) *
|
||||
dumplocklist.ndllck_size;
|
||||
dumplocks = (struct nfsd_dumplocks *)malloc(len,
|
||||
M_TEMP, M_WAITOK);
|
||||
dumplocks = malloc(len, M_TEMP, M_WAITOK | M_ZERO);
|
||||
nfsrv_dumplocks(nd.ni_vp, dumplocks,
|
||||
dumplocklist.ndllck_size, p);
|
||||
vput(nd.ni_vp);
|
||||
|
Loading…
Reference in New Issue
Block a user