From fc68bf34bb2352ce876e5e1173f518d8bdd1573a Mon Sep 17 00:00:00 2001 From: Egor Duda Date: Fri, 16 Feb 2001 18:49:20 +0000 Subject: * signal.cc (signal): Prohibit setting handlers for SIGKILL and SIGSTOP * signal.cc (sigaction): Ditto * syscalls.cc (_lseek): Return EINVAL on invalid input --- winsup/cygwin/signal.cc | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'winsup/cygwin/signal.cc') diff --git a/winsup/cygwin/signal.cc b/winsup/cygwin/signal.cc index 61535fff3..ea4a4394a 100644 --- a/winsup/cygwin/signal.cc +++ b/winsup/cygwin/signal.cc @@ -46,7 +46,7 @@ signal (int sig, _sig_func_ptr func) _sig_func_ptr prev; /* check that sig is in right range */ - if (sig < 0 || sig >= NSIG) + if (sig < 0 || sig >= NSIG || sig == SIGKILL || sig == SIGSTOP) { set_errno (EINVAL); syscall_printf ("SIG_ERR = signal (%d, %p)", sig, func); @@ -260,7 +260,7 @@ sigaction (int sig, const struct sigaction *newact, struct sigaction *oldact) if (newact) { - if ((sig == SIGKILL || sig == SIGSTOP) && newact->sa_handler != SIG_DFL) + if (sig == SIGKILL || sig == SIGSTOP) { set_errno (EINVAL); return -1; -- cgit v1.2.3