diff options
author | 2009-03-08 14:28:52 +0000 | |
---|---|---|
committer | 2009-03-08 14:28:52 +0000 | |
commit | fd1f83acec4c7a5da5b582c63d14134956bd6d9d (patch) | |
tree | 5cf785d3b9d66faf854689c3dd61f40ef2dfb96b /sys/kern/exec_elf.c | |
parent | Add support for Geyser2 devices from NetBSD and fix some Geyser1 devices that (diff) | |
download | wireguard-openbsd-fd1f83acec4c7a5da5b582c63d14134956bd6d9d.tar.xz wireguard-openbsd-fd1f83acec4c7a5da5b582c63d14134956bd6d9d.zip |
If a session leader exists s_leader is set to NULL, so don't dereference it
unconditionally.
ok miod@
Diffstat (limited to 'sys/kern/exec_elf.c')
-rw-r--r-- | sys/kern/exec_elf.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/exec_elf.c b/sys/kern/exec_elf.c index 59197aba4a9..cc36728bd2b 100644 --- a/sys/kern/exec_elf.c +++ b/sys/kern/exec_elf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: exec_elf.c,v 1.68 2009/03/05 19:52:24 kettenis Exp $ */ +/* $OpenBSD: exec_elf.c,v 1.69 2009/03/08 14:28:52 kettenis Exp $ */ /* * Copyright (c) 1996 Per Fogelstrom @@ -1164,7 +1164,10 @@ ELFNAMEEND(coredump_notes)(struct proc *p, void *iocookie, size_t *sizep) cpi.cpi_pid = p->p_pid; cpi.cpi_ppid = p->p_pptr->p_pid; cpi.cpi_pgrp = p->p_pgid; - cpi.cpi_sid = p->p_session->s_leader->p_pid; + if (p->p_session->s_leader) + cpi.cpi_sid = p->p_session->s_leader->p_pid; + else + cpi.cpi_sid = 0; cpi.cpi_ruid = p->p_cred->p_ruid; cpi.cpi_euid = p->p_ucred->cr_uid; |