From 9703ddbf3ecf8402c95e77cde9ffc7aecf3c077e Mon Sep 17 00:00:00 2001 From: yellows8 Date: Sat, 25 Nov 2017 12:54:42 -0500 Subject: [PATCH] Fixed the stack_sz used for stack_top in threadCreate(). t->stack_sz is uninitialized at the time stack_top is set, hence this was causing memory corruption in some cases. --- nx/source/kernel/thread.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nx/source/kernel/thread.c b/nx/source/kernel/thread.c index fcc6284e..c4f4c01e 100644 --- a/nx/source/kernel/thread.c +++ b/nx/source/kernel/thread.c @@ -53,7 +53,7 @@ Result threadCreate( if (R_SUCCEEDED(rc)) { - u64 stack_top = ((u64)stack_mirror) + t->stack_sz - sizeof(ThreadEntryArgs); + u64 stack_top = ((u64)stack_mirror) + stack_sz - sizeof(ThreadEntryArgs); ThreadEntryArgs* args = (ThreadEntryArgs*) stack_top; Handle handle;