diff options
| author | Amlal <amlal.elmahrouss@icloud.com> | 2025-01-18 03:24:43 +0100 |
|---|---|---|
| committer | Amlal <amlal.elmahrouss@icloud.com> | 2025-01-18 03:24:43 +0100 |
| commit | 68a2172e20ebf34098de71464668239d9064eeb8 (patch) | |
| tree | 61e3545d1c9ea70cc2d6ed453470ec8779248241 /dev/Kernel/src/Network/IPCMsg.cc | |
| parent | 595a52436c86b4cdc37f26d9562cd55ccdb1a4ec (diff) | |
Network/IPC: Don't use GetCurrentProcess directly, it might target the wrong process.
Signed-off-by: Amlal <amlal.elmahrouss@icloud.com>
Diffstat (limited to 'dev/Kernel/src/Network/IPCMsg.cc')
| -rw-r--r-- | dev/Kernel/src/Network/IPCMsg.cc | 19 |
1 files changed, 4 insertions, 15 deletions
diff --git a/dev/Kernel/src/Network/IPCMsg.cc b/dev/Kernel/src/Network/IPCMsg.cc index ef57477c..94fb1fc7 100644 --- a/dev/Kernel/src/Network/IPCMsg.cc +++ b/dev/Kernel/src/Network/IPCMsg.cc @@ -61,7 +61,6 @@ namespace Kernel if (!pckt || !ipc_int_sanitize_packet(pckt)) { - UserProcessScheduler::The().GetCurrentProcess().Leak().Crash(); return false; } @@ -77,18 +76,8 @@ namespace Kernel if (!pckt_in) return false; - // don't do anything if it's valid already. - if (*pckt_in) - return true; - - // crash process if the packet pointer of pointer is NULL. - if (!pckt_in) - { - UserProcessScheduler::The().GetCurrentProcess().Leak().Crash(); - return false; - } - - *pckt_in = new IPC_MSG(); + if (!*pckt_in) + *pckt_in = new IPC_MSG(); if (*pckt_in) { @@ -102,8 +91,8 @@ namespace Kernel (*pckt_in)->IpcTo.UserProcessID = 0; (*pckt_in)->IpcTo.UserProcessTeam = 0; - (*pckt_in)->IpcFrom.UserProcessID = Kernel::UserProcessScheduler::The().GetCurrentProcess().Leak().ProcessId; - (*pckt_in)->IpcFrom.UserProcessTeam = Kernel::UserProcessScheduler::The().CurrentTeam().mTeamId; + (*pckt_in)->IpcFrom.UserProcessID = 0; + (*pckt_in)->IpcFrom.UserProcessTeam = 0; return Yes; } |
