diff options
author | nectar <nectar@FreeBSD.org> | 2003-08-10 23:05:37 +0000 |
---|---|---|
committer | nectar <nectar@FreeBSD.org> | 2003-08-10 23:05:37 +0000 |
commit | 78ff87db8b921ed26b987d884f8c68357c85569e (patch) | |
tree | 944fa529f5bc562540fadb907426e5bfaf8e4874 /sys/kern/kern_sig.c | |
parent | f5b9f87e772a6fcee8bcad474c3fd99d063c15d4 (diff) | |
download | FreeBSD-src-78ff87db8b921ed26b987d884f8c68357c85569e.zip FreeBSD-src-78ff87db8b921ed26b987d884f8c68357c85569e.tar.gz |
panic() if we try to handle an out-of-range signal number in
psignal()/tdsignal(). The test was historically in psignal(). It was
changed into a KASSERT, and then later moved to tdsignal() when the
latter was introduced.
Reviewed by: iedowse, jhb
Diffstat (limited to 'sys/kern/kern_sig.c')
-rw-r--r-- | sys/kern/kern_sig.c | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/sys/kern/kern_sig.c b/sys/kern/kern_sig.c index 611f002..e24be92 100644 --- a/sys/kern/kern_sig.c +++ b/sys/kern/kern_sig.c @@ -1629,6 +1629,9 @@ psignal(struct proc *p, int sig) struct thread *td; int prop; + if (!_SIG_VALID(sig)) + panic("psignal(): invalid signal"); + PROC_LOCK_ASSERT(p, MA_OWNED); prop = sigprop(sig); @@ -1673,8 +1676,8 @@ do_tdsignal(struct thread *td, int sig, sigtarget_t target) register int prop; struct sigacts *ps; - KASSERT(_SIG_VALID(sig), - ("tdsignal(): invalid signal %d\n", sig)); + if (!_SIG_VALID(sig)) + panic("do_tdsignal(): invalid signal"); p = td->td_proc; ps = p->p_sigacts; |