diff options
Diffstat (limited to 'src/process')
-rw-r--r-- | src/process/ntapi_tt_spawn_native_process.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/process/ntapi_tt_spawn_native_process.c b/src/process/ntapi_tt_spawn_native_process.c index c2173ac..8e0623a 100644 --- a/src/process/ntapi_tt_spawn_native_process.c +++ b/src/process/ntapi_tt_spawn_native_process.c @@ -67,6 +67,7 @@ int32_t __stdcall __ntapi_tt_spawn_native_process(nt_spawn_process_params * spar char ** rargv; char ** renvp; wchar16_t ** pwarg; + wchar16_t * wenv; wchar16_t * wch; void * hchild[2]; wchar16_t * imgbuf; @@ -225,6 +226,7 @@ int32_t __stdcall __ntapi_tt_spawn_native_process(nt_spawn_process_params * spar rdata->wargv -= (uintptr_t)rtblock.addr / sizeof(wchar16_t *); rdata->wenvp -= (uintptr_t)rtblock.addr / sizeof(wchar16_t *); + wenv = wch; wch += written/sizeof(wchar16_t); buflen -= written; @@ -275,6 +277,7 @@ int32_t __stdcall __ntapi_tt_spawn_native_process(nt_spawn_process_params * spar cparams.image_name = imgname->buffer; cparams.creation_flags_process = NT_PROCESS_CREATE_FLAGS_INHERIT_HANDLES; cparams.creation_flags_thread = NT_PROCESS_CREATE_FLAGS_CREATE_THREAD_SUSPENDED; + cparams.environment = wenv; crtblock.size = (size_t)wch - (size_t)rdata; crtblock.size += 0xFFFF; |