summaryrefslogtreecommitdiffhomepage
path: root/dev/Kernel/src/Network/IPCMsg.cc
diff options
context:
space:
mode:
authorAmlal <amlal.elmahrouss@icloud.com>2025-01-18 03:24:43 +0100
committerAmlal <amlal.elmahrouss@icloud.com>2025-01-18 03:24:43 +0100
commit68a2172e20ebf34098de71464668239d9064eeb8 (patch)
tree61e3545d1c9ea70cc2d6ed453470ec8779248241 /dev/Kernel/src/Network/IPCMsg.cc
parent595a52436c86b4cdc37f26d9562cd55ccdb1a4ec (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.cc19
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;
}