MFP4 (107868 - 107870):

Use a macro to test for a valid signal instead of doing it my hand everywhere.

Submitted by:	rdivacky
This commit is contained in:
netchild 2006-10-15 12:51:43 +00:00
parent e993001f47
commit 4afde07449
3 changed files with 5 additions and 3 deletions

View File

@ -144,7 +144,7 @@ linux_do_sigaction(struct thread *td, int linux_sig, l_sigaction_t *linux_nsa,
struct sigaction act, oact, *nsa, *osa;
int error, sig;
if (linux_sig <= 0 || linux_sig > LINUX_NSIG)
if (!LINUX_SIG_VALID(linux_sig))
return (EINVAL);
osa = (linux_osa != NULL) ? &oact : NULL;
@ -438,7 +438,7 @@ linux_kill(struct thread *td, struct linux_kill_args *args)
/*
* Allow signal 0 as a means to check for privileges
*/
if (args->signum < 0 || args->signum > LINUX_NSIG)
if (!LINUX_SIG_VALID(linux_sig) && args->signum != 0)
return EINVAL;
if (args->signum > 0 && args->signum <= LINUX_SIGTBLSZ)

View File

@ -35,4 +35,6 @@ void linux_to_bsd_sigset(l_sigset_t *, sigset_t *);
void bsd_to_linux_sigset(sigset_t *, l_sigset_t *);
int linux_do_sigaction(struct thread *, int, l_sigaction_t *, l_sigaction_t *);
#define LINUX_SIG_VALID(sig) ((sig) <= LINUX_NSIG && (sig) > 0)
#endif /* _LINUX_SIGNAL_H_ */

View File

@ -365,7 +365,7 @@ linux_clone(struct thread *td, struct linux_clone_args *args)
#endif
exit_signal = args->flags & 0x000000ff;
if (exit_signal >= LINUX_NSIG)
if (!LINUX_SIG_VALID(exit_signal))
return (EINVAL);
if (exit_signal <= LINUX_SIGTBLSZ)