* signal.cc (signal): Prohibit setting handlers for SIGKILL and SIGSTOP
* signal.cc (sigaction): Ditto * syscalls.cc (_lseek): Return EINVAL on invalid input
This commit is contained in:
parent
00aae5a740
commit
fc68bf34bb
winsup/cygwin
|
@ -1,3 +1,10 @@
|
||||||
|
2001-02-16 Egor Duda <deo@logos-m.ru>
|
||||||
|
|
||||||
|
* signal.cc (signal): Prohibit setting handlers for SIGKILL and
|
||||||
|
SIGSTOP
|
||||||
|
* signal.cc (sigaction): Ditto
|
||||||
|
* syscalls.cc (_lseek): Return EINVAL on invalid input
|
||||||
|
|
||||||
Wed Feb 14 14:54:40 2001 Christophe Iasci <chrisiasci@aol.com>
|
Wed Feb 14 14:54:40 2001 Christophe Iasci <chrisiasci@aol.com>
|
||||||
|
|
||||||
* dlfcn.cc (dlopen): Do not call LoadLibrary with a NULL pointer, when
|
* dlfcn.cc (dlopen): Do not call LoadLibrary with a NULL pointer, when
|
||||||
|
|
|
@ -46,7 +46,7 @@ signal (int sig, _sig_func_ptr func)
|
||||||
_sig_func_ptr prev;
|
_sig_func_ptr prev;
|
||||||
|
|
||||||
/* check that sig is in right range */
|
/* check that sig is in right range */
|
||||||
if (sig < 0 || sig >= NSIG)
|
if (sig < 0 || sig >= NSIG || sig == SIGKILL || sig == SIGSTOP)
|
||||||
{
|
{
|
||||||
set_errno (EINVAL);
|
set_errno (EINVAL);
|
||||||
syscall_printf ("SIG_ERR = signal (%d, %p)", sig, func);
|
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 (newact)
|
||||||
{
|
{
|
||||||
if ((sig == SIGKILL || sig == SIGSTOP) && newact->sa_handler != SIG_DFL)
|
if (sig == SIGKILL || sig == SIGSTOP)
|
||||||
{
|
{
|
||||||
set_errno (EINVAL);
|
set_errno (EINVAL);
|
||||||
return -1;
|
return -1;
|
||||||
|
|
|
@ -447,7 +447,12 @@ _lseek (int fd, off_t pos, int dir)
|
||||||
off_t res;
|
off_t res;
|
||||||
sigframe thisframe (mainthread);
|
sigframe thisframe (mainthread);
|
||||||
|
|
||||||
if (fdtab.not_open (fd))
|
if ( dir != SEEK_SET && dir != SEEK_CUR && dir != SEEK_END )
|
||||||
|
{
|
||||||
|
set_errno ( EINVAL );
|
||||||
|
res = -1;
|
||||||
|
}
|
||||||
|
else if (fdtab.not_open (fd))
|
||||||
{
|
{
|
||||||
set_errno (EBADF);
|
set_errno (EBADF);
|
||||||
res = -1;
|
res = -1;
|
||||||
|
|
Loading…
Reference in New Issue