diff options
author | Brooks Davis <brooks@FreeBSD.org> | 2009-09-08 19:37:59 +0000 |
---|---|---|
committer | Brooks Davis <brooks@FreeBSD.org> | 2009-09-08 19:37:59 +0000 |
commit | d534b0c238f840a589e0513fe70f3531763ae9cf (patch) | |
tree | 8617996dd3ebfbc658d48eec0bd1b70222f40af3 /lib | |
parent | 2ff8f63aa6b7a81fd10e443a93f70ec6f84f3b7e (diff) | |
download | src-d534b0c238f840a589e0513fe70f3531763ae9cf.tar.gz src-d534b0c238f840a589e0513fe70f3531763ae9cf.zip |
cr_groups is no longer embedded in struct ucred and is instead stored
in a seperate array. As such we need to use kvm_read rather than bcopy
to populate the ki_groups field.
This fixes a crash when running ps -ax on a coredump.
Reported by: brucec
Tested by: brucec
MFC after: 3 days
Notes
Notes:
svn path=/head/; revision=196990
Diffstat (limited to 'lib')
-rw-r--r-- | lib/libkvm/kvm_proc.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/libkvm/kvm_proc.c b/lib/libkvm/kvm_proc.c index 7fb85a4a2613..071f859e002d 100644 --- a/lib/libkvm/kvm_proc.c +++ b/lib/libkvm/kvm_proc.c @@ -151,7 +151,7 @@ kvm_proclist(kd, what, arg, p, bp, maxcnt) kp->ki_cr_flags |= KI_CRF_GRP_OVERFLOW; } kp->ki_ngroups = ucred.cr_ngroups; - bcopy(ucred.cr_groups, kp->ki_groups, + kvm_read(kd, (u_long)ucred.cr_groups, kp->ki_groups, kp->ki_ngroups * sizeof(gid_t)); kp->ki_uid = ucred.cr_uid; if (ucred.cr_prison != NULL) { |