summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJakob Kaivo <jkk@ung.org>2024-06-07 16:50:52 -0400
committerJakob Kaivo <jkk@ung.org>2024-06-07 16:50:52 -0400
commitc96fdcfef5159ee4e7084fda4e3ae04c4c0e6daf (patch)
tree4b43c3b7df8f244588c034b8d44909ab3b6cce10
parentc4afe90f3a270de6bc262c8ac31a46e51fe134de (diff)
SIG_DFL and SIG_IGN probably aren't executable
-rw-r--r--src/signal/signal.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/signal/signal.c b/src/signal/signal.c
index 85a82172..442ad4e1 100644
--- a/src/signal/signal.c
+++ b/src/signal/signal.c
@@ -34,7 +34,11 @@ void (*signal(int sig, void (*func)(int)))(int)
return SIG_ERR;
}
- if ((__memperm(func) & PROT_EXEC) != PROT_EXEC) {
+ if (func == SIG_DFL) {
+ /* TODO */
+ } else if (func == SIG_IGN) {
+ /* TODO */
+ } else if ((__memperm(func) & PROT_EXEC) != PROT_EXEC) {
UNDEFINED("signal handler is not executable");
}