From cd2cff1c04b9bdf866cc40e5997dd1bf911dfd21 Mon Sep 17 00:00:00 2001 From: Saagar Jha Date: Sun, 12 Jan 2020 22:51:01 -0800 Subject: [PATCH] Prevent NUM_SIGS from touching sig_set_ --- fs/tty.c | 2 +- kernel/signal.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/fs/tty.c b/fs/tty.c index 9e92686d..d0d410a6 100644 --- a/fs/tty.c +++ b/fs/tty.c @@ -364,7 +364,7 @@ canon_wake: unlock(&tty->lock); if (fg_group != 0) { - for (int sig = 1; sig <= NUM_SIGS; sig++) { + for (int sig = 1; sig < NUM_SIGS; sig++) { if (sigset_has(queue, sig)) send_group_signal(fg_group, sig, SIGINFO_NIL); } diff --git a/kernel/signal.h b/kernel/signal.h index 5d617926..00fb7370 100644 --- a/kernel/signal.h +++ b/kernel/signal.h @@ -145,7 +145,7 @@ dword_t sys_rt_sigprocmask(dword_t how, addr_t set, addr_t oldset, dword_t size) int_t sys_rt_sigpending(addr_t set_addr); static inline sigset_t_ sig_mask(int sig) { - assert(sig >= 1 && sig <= NUM_SIGS); + assert(sig >= 1 && sig < NUM_SIGS); return 1l << (sig - 1); }