diff options
| author | 2007-11-19 17:47:47 +0000 | |
|---|---|---|
| committer | 2007-11-19 17:47:47 +0000 | |
| commit | 4ec2263a8c8239f0b1ff3e8eaf5a0ddf1ddc7f4b (patch) | |
| tree | 5ce787a4d68d3ad8d1c74c8da635bf80c1f35d13 /sys/kern/kern_sig.c | |
| parent | spacing (diff) | |
| download | wireguard-openbsd-4ec2263a8c8239f0b1ff3e8eaf5a0ddf1ddc7f4b.tar.xz wireguard-openbsd-4ec2263a8c8239f0b1ff3e8eaf5a0ddf1ddc7f4b.zip | |
Don't overwrite a core file owned by a different user. Makes the code
match the comment. OK deraadt@
Diffstat (limited to 'sys/kern/kern_sig.c')
| -rw-r--r-- | sys/kern/kern_sig.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 9338fb56336..bbef689712a 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1,4 +1,4 @@ -/* $OpenBSD: kern_sig.c,v 1.95 2007/09/01 15:14:44 martin Exp $ */ +/* $OpenBSD: kern_sig.c,v 1.96 2007/11/19 17:47:47 millert Exp $ */ /* $NetBSD: kern_sig.c,v 1.54 1996/04/22 01:38:32 christos Exp $ */ /* @@ -1406,9 +1406,9 @@ coredump(struct proc *p) vp = nd.ni_vp; if ((error = VOP_GETATTR(vp, &vattr, cred, p)) != 0) goto out; - /* Don't dump to non-regular files or files with links. */ if (vp->v_type != VREG || vattr.va_nlink != 1 || - vattr.va_mode & ((VREAD | VWRITE) >> 3 | (VREAD | VWRITE) >> 6)) { + vattr.va_mode & ((VREAD | VWRITE) >> 3 | (VREAD | VWRITE) >> 6) || + vattr.va_uid != cred->cr_uid) { error = EACCES; goto out; } |
