Alfred Agrell (@Alcaro) commented about dlls/advapi32/security.c:
{
BOOL ret = CreateProcessAsUserW( token, application_name, command_line, NULL, NULL, FALSE, creation_flags,
environment, current_directory, startup_info, process_information );
void *env = environment;
BOOL ret = TRUE;
if (!environment)
{
ret = CreateEnvironmentBlock(&env, token, FALSE);
creation_flags |= CREATE_UNICODE_ENVIRONMENT;
}
if (ret)
{
ret = CreateProcessAsUserW( token, application_name, command_line, NULL, NULL, FALSE,
creation_flags, environment, current_directory, startup_info, process_information );
Did you mean to pass the newly created env here?