From a2fb41856dffbe3dcf84b4f1715307f8997fc49b Mon Sep 17 00:00:00 2001 From: RadWolfie Date: Sun, 17 Dec 2023 19:02:20 -0600 Subject: [PATCH] kernel: fix RtlWalkFrameChain according to xbox kernel test suite failed test --- src/core/kernel/exports/EmuKrnlRtl.cpp | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/core/kernel/exports/EmuKrnlRtl.cpp b/src/core/kernel/exports/EmuKrnlRtl.cpp index eced8f70a..c5991807b 100644 --- a/src/core/kernel/exports/EmuKrnlRtl.cpp +++ b/src/core/kernel/exports/EmuKrnlRtl.cpp @@ -2224,6 +2224,11 @@ XBSYSAPI EXPORTNUM(319) xbox::ulong_xt NTAPI xbox::RtlWalkFrameChain ulong_ptr_xt NewStack = *(ulong_ptr_xt*)Stack; ulong_xt Eip = *(ulong_ptr_xt*)(Stack + sizeof(ulong_ptr_xt)); + /* Check if Eip is not below executable's dos header */ + if (Eip < KiB(64)) { + break; + } + /* Check if the new pointer is above the old one and past the end */ if (!((Stack < NewStack) && (NewStack < StackEnd))) { /* Stop searching after this entry */