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:
parent
e993001f47
commit
4afde07449
@ -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)
|
||||
|
@ -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_ */
|
||||
|
@ -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)
|
||||
|
Loading…
x
Reference in New Issue
Block a user