From 568fc09277bbd2e4bbf3b2ebebacf78c4f67cd28 Mon Sep 17 00:00:00 2001
From: 4lDO2 <4lDO2@protonmail.com>
Date: Wed, 26 Jun 2024 22:10:02 +0200
Subject: [PATCH] Reset sighandler in fexec before switching addrsp.

---
 redox-rt/src/proc.rs | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/redox-rt/src/proc.rs b/redox-rt/src/proc.rs
index e4564bb7..a89354f2 100644
--- a/redox-rt/src/proc.rs
+++ b/redox-rt/src/proc.rs
@@ -421,6 +421,15 @@ where
 
     push(argc)?;
 
+    if let Ok(sighandler_fd) = syscall::dup(*open_via_dup, b"sighandler").map(FdGuard::new) {
+        let _ = syscall::write(*sighandler_fd, &SetSighandlerData {
+            user_handler: 0,
+            excp_handler: 0,
+            thread_control_addr: 0,
+            proc_control_addr: 0,
+        });
+    }
+
     unsafe {
         deactivate_tcb(*open_via_dup)?;
     }
-- 
GitLab