diff options
Diffstat (limited to 'Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp')
| -rw-r--r-- | Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp b/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp index 4f1ed4da..2e75b6cb 100644 --- a/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp +++ b/Private/HALKit/AMD64/HalCoreSyscallHandlerAMD64.cpp @@ -14,10 +14,9 @@ HCore::Array<void (*)(HCore::Int32 id, HCore::HAL::StackFrame *), kMaxSyscalls> kSyscalls; -// IDT System Call Handler. -// NOTE: don't trust the user. +/// @brief Interrupt system call handler. extern "C" void rt_syscall_handle(HCore::HAL::StackFrame *stack) { for (HCore::SizeT index = 0UL; index < kMaxSyscalls; ++index) { - (kSyscalls[index].Leak().Leak())(stack->R15, stack); + if (kSyscalls[index]) (kSyscalls[index].Leak().Leak())(stack->R15, stack); } } |
