diff options
Diffstat (limited to 'session.c')
-rw-r--r-- | session.c | 4 |
1 files changed, 3 insertions, 1 deletions
@@ -1608,7 +1608,9 @@ session_close_by_channel(int id, void *arg) | |||
1608 | session_close(s); | 1608 | session_close(s); |
1609 | } else { | 1609 | } else { |
1610 | /* notify child, delay session cleanup */ | 1610 | /* notify child, delay session cleanup */ |
1611 | if (kill(s->pid, (s->ttyfd == -1) ? SIGTERM : SIGHUP) < 0) | 1611 | if (s->pid <= 1) |
1612 | error("session_close_by_channel: Unsafe s->pid = %d", s->pid); | ||
1613 | else if (kill(s->pid, (s->ttyfd == -1) ? SIGTERM : SIGHUP) < 0) | ||
1612 | error("session_close_by_channel: kill %d: %s", | 1614 | error("session_close_by_channel: kill %d: %s", |
1613 | s->pid, strerror(errno)); | 1615 | s->pid, strerror(errno)); |
1614 | } | 1616 | } |