From 68a2172e20ebf34098de71464668239d9064eeb8 Mon Sep 17 00:00:00 2001 From: Amlal Date: Sat, 18 Jan 2025 03:24:43 +0100 Subject: Network/IPC: Don't use GetCurrentProcess directly, it might target the wrong process. Signed-off-by: Amlal --- dev/Kernel/src/Network/IPCMsg.cc | 19 ++++--------------- 1 file changed, 4 insertions(+), 15 deletions(-) (limited to 'dev/Kernel/src/Network') 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; } -- cgit v1.2.3