avoid env var forwarding logic panicking for non-UTF-8 env vars

This commit is contained in:
Ralf Jung 2022-03-05 11:13:32 -05:00
parent 3adc203c1c
commit ceec2b3ceb

View file

@ -50,10 +50,10 @@ impl<'tcx> EnvVars<'tcx> {
// Skip the loop entirely if we don't want to forward anything.
if ecx.machine.communicate() || !forwarded_env_vars.is_empty() {
for (name, value) in env::vars() {
for (name, value) in env::vars_os() {
let forward = match ecx.machine.communicate() {
true => !excluded_env_vars.contains(&name),
false => forwarded_env_vars.contains(&name),
true => !excluded_env_vars.iter().any(|v| v.as_str() == &name),
false => forwarded_env_vars.iter().any(|v| v.as_str() == &name),
};
if forward {
let var_ptr = match target_os {