summaryrefslogtreecommitdiffstats
path: root/sys/compat
diff options
context:
space:
mode:
authornetchild <netchild@FreeBSD.org>2006-10-15 12:51:43 +0000
committernetchild <netchild@FreeBSD.org>2006-10-15 12:51:43 +0000
commit4afde074491866aae382433ba9266285f671d6fd (patch)
tree69d03ef84bb809d95241503c3a12444a0adbadb5 /sys/compat
parente993001f4772b543b1d3bd464e443b9e6a586199 (diff)
downloadFreeBSD-src-4afde074491866aae382433ba9266285f671d6fd.zip
FreeBSD-src-4afde074491866aae382433ba9266285f671d6fd.tar.gz
MFP4 (107868 - 107870):
Use a macro to test for a valid signal instead of doing it my hand everywhere. Submitted by: rdivacky
Diffstat (limited to 'sys/compat')
-rw-r--r--sys/compat/linux/linux_signal.c4
-rw-r--r--sys/compat/linux/linux_signal.h2
2 files changed, 4 insertions, 2 deletions
diff --git a/sys/compat/linux/linux_signal.c b/sys/compat/linux/linux_signal.c
index 852c501..4a4ec12 100644
--- a/sys/compat/linux/linux_signal.c
+++ b/sys/compat/linux/linux_signal.c
@@ -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)
diff --git a/sys/compat/linux/linux_signal.h b/sys/compat/linux/linux_signal.h
index edb7c66..5f6d5bd 100644
--- a/sys/compat/linux/linux_signal.h
+++ b/sys/compat/linux/linux_signal.h
@@ -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_ */
OpenPOWER on IntegriCloud