diff options
Diffstat (limited to 'src/tools/box32stack.c')
| -rw-r--r-- | src/tools/box32stack.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/tools/box32stack.c b/src/tools/box32stack.c index 0fa1460e..903996c7 100644 --- a/src/tools/box32stack.c +++ b/src/tools/box32stack.c @@ -38,11 +38,12 @@ void SetupInitialStack32(x64emu_t *emu) PushString32(emu, emu->context->argv[0]); uintptr_t p_arg0 = from_ptr(R_ESP); // push envs - uintptr_t p_envv[emu->context->envc]; + uintptr_t p_envv[emu->context->envc+1]; for (int i=emu->context->envc-1; i>=0; --i) { PushString32(emu, emu->context->envv[i]); p_envv[i] = from_ptr(R_ESP); } + p_envv[emu->context->envc] = 0; // push args, also, free the argv[] string and point to the one in the main stack uintptr_t p_argv[emu->context->argc]; for (int i=emu->context->argc-1; i>=0; --i) { |