diff options
| author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2011-04-06 16:59:54 +0000 |
|---|---|---|
| committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2011-04-06 16:59:54 +0000 |
| commit | 8caddd81e2e2dcfac3e54e4eb39ea863b99aa441 (patch) | |
| tree | 1bb412523ffd3b85f320c30f0d19d8cd22bd8c98 /sys/kern/sysv_msg.c | |
| parent | f497cda257dff5ab0372595e338904ef592c94a3 (diff) | |
Notes
Diffstat (limited to 'sys/kern/sysv_msg.c')
| -rw-r--r-- | sys/kern/sysv_msg.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sys/kern/sysv_msg.c b/sys/kern/sysv_msg.c index ace2eab349a7..3e67bd03a46f 100644 --- a/sys/kern/sysv_msg.c +++ b/sys/kern/sysv_msg.c @@ -466,6 +466,9 @@ kern_msgctl(td, msqid, cmd, msqbuf) } #endif + crfree(msqkptr->cred); + msqkptr->cred = NULL; + /* Free the message headers */ msghdr = msqkptr->u.msg_first; while (msghdr != NULL) { @@ -620,6 +623,8 @@ msgget(td, uap) msqkptr->u.msg_perm.cgid = cred->cr_gid; msqkptr->u.msg_perm.gid = cred->cr_gid; msqkptr->u.msg_perm.mode = (msgflg & 0777); + crhold(cred); + msqkptr->cred = cred; /* Make sure that the returned msqid is unique */ msqkptr->u.msg_perm.seq = (msqkptr->u.msg_perm.seq + 1) & 0x7fff; msqkptr->u.msg_first = NULL; |
