diff options
author | mbr <mbr@FreeBSD.org> | 2006-12-19 22:34:32 +0000 |
---|---|---|
committer | mbr <mbr@FreeBSD.org> | 2006-12-19 22:34:32 +0000 |
commit | 37965664cc660bfa55325be6ad0fbe49b50a7c4a (patch) | |
tree | 78ede06b3c79a59a8082f9ca05e92b3f9df222aa /sys/kern/tty.c | |
parent | 406c54c0f9851d44ac5b7748af3af26165cce553 (diff) | |
download | FreeBSD-src-37965664cc660bfa55325be6ad0fbe49b50a7c4a.zip FreeBSD-src-37965664cc660bfa55325be6ad0fbe49b50a7c4a.tar.gz |
Giant might have been temporarily dropped while waiting for proctree_lock, allowing for an
intervening tty_close() that cleared tp->t_session.
Submitted by: tegge
MFC: 1 day
Diffstat (limited to 'sys/kern/tty.c')
-rw-r--r-- | sys/kern/tty.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/kern/tty.c b/sys/kern/tty.c index cdb7906..1d6c70e 100644 --- a/sys/kern/tty.c +++ b/sys/kern/tty.c @@ -1649,7 +1649,7 @@ ttymodem(struct tty *tp, int flag) CLR(tp->t_state, TS_CONNECTED); if (tp->t_session) { sx_slock(&proctree_lock); - if (tp->t_session->s_leader) { + if (tp->t_session && tp->t_session->s_leader) { struct proc *p; p = tp->t_session->s_leader; |