From 518798f64e313a2d9067a52b6a3d5970c8208ae5 Mon Sep 17 00:00:00 2001 From: 4lDO2 <4lDO2@protonmail.com> Date: Fri, 18 Jul 2025 21:50:01 +0200 Subject: [PATCH] Return EINVAL when killing with sig > 64. --- redox-rt/src/sys.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/redox-rt/src/sys.rs b/redox-rt/src/sys.rs index 0d060262b9..14662331d7 100644 --- a/redox-rt/src/sys.rs +++ b/redox-rt/src/sys.rs @@ -50,6 +50,10 @@ pub fn posix_write(fd: usize, buf: &[u8]) -> Result { } #[inline] pub fn posix_kill(target: ProcKillTarget, sig: usize) -> Result<()> { + if sig > 64 { + return Err(Error::new(EINVAL)); + } + match wrapper(false, true, || { this_proc_call( &mut [], @@ -195,6 +199,11 @@ pub fn sys_waitpid(target: WaitpidTarget, status: &mut usize, flags: WaitFlags) }) } pub fn posix_kill_thread(thread_fd: usize, signal: u32) -> Result<()> { + // TODO: don't hardcode? + if signal > 64 { + return Err(Error::new(EINVAL)); + } + match wrapper(false, true, || { thread_call( thread_fd,