From 2d3b89bd33d00d18785a49507a36f04f9241e4ce Mon Sep 17 00:00:00 2001 From: Alex Date: Wed, 22 Mar 2023 21:18:35 +0200 Subject: [PATCH] Allocate argv and envp --- Tasking/Task.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Tasking/Task.cpp b/Tasking/Task.cpp index a5a1051..857ccb5 100644 --- a/Tasking/Task.cpp +++ b/Tasking/Task.cpp @@ -465,8 +465,8 @@ namespace Tasking char *StackStringsVirtual = (char *)Thread->Stack->GetStackTop(); // Store string pointers for later - uintptr_t ArgvStrings[ArgvSize]; - uintptr_t EnvpStrings[EnvpSize]; + uintptr_t *ArgvStrings = new uintptr_t[ArgvSize]; + uintptr_t *EnvpStrings = new uintptr_t[EnvpSize]; for (size_t i = 0; i < ArgvSize; i++) { @@ -558,6 +558,9 @@ namespace Tasking // Set the stack pointer to the new stack Thread->Registers.rsp = ((uintptr_t)Thread->Stack->GetStackTop() - SubtractStack); + delete[] ArgvStrings; + delete[] EnvpStrings; + #ifdef DEBUG DumpData("Stack Data", (void *)((uintptr_t)Thread->Stack->GetStackPhysicalTop() - (uintptr_t)SubtractStack), SubtractStack); #endif