mirror of
https://github.com/Fennix-Project/Kernel.git
synced 2025-05-28 15:34:33 +00:00
Allocate argv and envp
This commit is contained in:
parent
9f0d1aed80
commit
2d3b89bd33
@ -465,8 +465,8 @@ namespace Tasking
|
|||||||
char *StackStringsVirtual = (char *)Thread->Stack->GetStackTop();
|
char *StackStringsVirtual = (char *)Thread->Stack->GetStackTop();
|
||||||
|
|
||||||
// Store string pointers for later
|
// Store string pointers for later
|
||||||
uintptr_t ArgvStrings[ArgvSize];
|
uintptr_t *ArgvStrings = new uintptr_t[ArgvSize];
|
||||||
uintptr_t EnvpStrings[EnvpSize];
|
uintptr_t *EnvpStrings = new uintptr_t[EnvpSize];
|
||||||
|
|
||||||
for (size_t i = 0; i < ArgvSize; i++)
|
for (size_t i = 0; i < ArgvSize; i++)
|
||||||
{
|
{
|
||||||
@ -558,6 +558,9 @@ namespace Tasking
|
|||||||
// Set the stack pointer to the new stack
|
// Set the stack pointer to the new stack
|
||||||
Thread->Registers.rsp = ((uintptr_t)Thread->Stack->GetStackTop() - SubtractStack);
|
Thread->Registers.rsp = ((uintptr_t)Thread->Stack->GetStackTop() - SubtractStack);
|
||||||
|
|
||||||
|
delete[] ArgvStrings;
|
||||||
|
delete[] EnvpStrings;
|
||||||
|
|
||||||
#ifdef DEBUG
|
#ifdef DEBUG
|
||||||
DumpData("Stack Data", (void *)((uintptr_t)Thread->Stack->GetStackPhysicalTop() - (uintptr_t)SubtractStack), SubtractStack);
|
DumpData("Stack Data", (void *)((uintptr_t)Thread->Stack->GetStackPhysicalTop() - (uintptr_t)SubtractStack), SubtractStack);
|
||||||
#endif
|
#endif
|
||||||
|
Loading…
x
Reference in New Issue
Block a user