From c5c5f8cb3e5a3b33610dfc006fb67419ad8df78c Mon Sep 17 00:00:00 2001 From: Mark Johannes Date: Mon, 19 Aug 1996 15:30:25 +0000 Subject: Changed all EFAULTs to EINVALs --- c/src/exec/posix/src/psignal.c | 21 ++++++++++++++------- 1 file changed, 14 insertions(+), 7 deletions(-) (limited to 'c/src/exec/posix/src/psignal.c') diff --git a/c/src/exec/posix/src/psignal.c b/c/src/exec/posix/src/psignal.c index 66cca49c3c..863220e608 100644 --- a/c/src/exec/posix/src/psignal.c +++ b/c/src/exec/posix/src/psignal.c @@ -498,7 +498,7 @@ int sigemptyset( ) { if ( !set ) - set_errno_and_return_minus_one( EFAULT ); + set_errno_and_return_minus_one( EINVAL ); *set = 0; return 0; @@ -513,7 +513,7 @@ int sigfillset( ) { if ( !set ) - set_errno_and_return_minus_one( EFAULT ); + set_errno_and_return_minus_one( EINVAL ); *set = SIGNAL_ALL_MASK; return 0; @@ -529,7 +529,7 @@ int sigaddset( ) { if ( !set ) - set_errno_and_return_minus_one( EFAULT ); + set_errno_and_return_minus_one( EINVAL ); if ( !signo ) return 0; @@ -551,7 +551,7 @@ int sigdelset( ) { if ( !set ) - set_errno_and_return_minus_one( EFAULT ); + set_errno_and_return_minus_one( EINVAL ); if ( !signo ) return 0; @@ -573,7 +573,7 @@ int sigismember( ) { if ( !set ) - set_errno_and_return_minus_one( EFAULT ); + set_errno_and_return_minus_one( EINVAL ); if ( !signo ) return 0; @@ -687,7 +687,7 @@ int pthread_sigmask( POSIX_API_Control *api; if ( !set && !oset ) - set_errno_and_return_minus_one( EFAULT ); + set_errno_and_return_minus_one( EINVAL ); api = _Thread_Executing->API_Extensions[ THREAD_API_POSIX ]; @@ -735,7 +735,7 @@ int sigpending( POSIX_API_Control *api; if ( !set ) - set_errno_and_return_minus_one( EFAULT ); + set_errno_and_return_minus_one( EINVAL ); api = _Thread_Executing->API_Extensions[ THREAD_API_POSIX ]; @@ -946,6 +946,13 @@ int killinfo( if( pid != getpid() ) set_errno_and_return_minus_one( ESRCH ); + /* + * Validate the signal passed if not 0. + */ + + if ( sig && !is_valid_signo(sig) ) + set_errno_and_return_minus_one( EINVAL ); + /* * If the signal is being ignored, then we are out of here. */ -- cgit v1.2.3