diff options
author | peter <peter@FreeBSD.org> | 2001-11-03 12:36:16 +0000 |
---|---|---|
committer | peter <peter@FreeBSD.org> | 2001-11-03 12:36:16 +0000 |
commit | 43929480b6d64562d03e32747d075dc34ead190d (patch) | |
tree | 7128697bf5d6718e1a33dcc83dd9ec28e79539cf | |
parent | c6127e6abf70a9c25d9f5d221b4bec909b7741c5 (diff) | |
download | FreeBSD-src-43929480b6d64562d03e32747d075dc34ead190d.zip FreeBSD-src-43929480b6d64562d03e32747d075dc34ead190d.tar.gz |
Partial reversion of rev 1.138. kill and killpg allow a signal
argument of 0. You cannot return EINVAL for signal 0. This broke
(in 5 minutes of testing) at least ssh-agent and screen.
However, there was a bug in the original code. Signal 128 is not
valid.
Pointy-hat to: des, jhb
-rw-r--r-- | sys/kern/kern_sig.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 1edb766..469a20f 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1053,7 +1053,7 @@ kill(td, uap) register struct proc *p; int error = 0; - if (!_SIG_VALID(uap->signum)) + if ((u_int)uap->signum >= _SIG_MAXSIG) return (EINVAL); mtx_lock(&Giant); @@ -1105,7 +1105,7 @@ okillpg(td, uap) { int error; - if (!_SIG_VALID(uap->signum)) + if ((u_int)uap->signum >= _SIG_MAXSIG) return (EINVAL); mtx_lock(&Giant); error = killpg1(td->td_proc, uap->signum, uap->pgid, 0); |