about summary refs log tree commit diff
path: root/library/std/src
diff options
context:
space:
mode:
authorChris Denton <chris@chrisdenton.dev>2025-02-26 13:18:44 +0000
committerChris Denton <chris@chrisdenton.dev>2025-02-26 13:56:47 +0000
commit4fcebee60a1f8fc069dd546aa8d7c93983c57ada (patch)
tree025d6cd49d2194bfa050be39b2edc18665e6976d /library/std/src
parentc51b9b6d5234aa8e50c3b87784113a1af1af47cb (diff)
downloadrust-4fcebee60a1f8fc069dd546aa8d7c93983c57ada.tar.gz
rust-4fcebee60a1f8fc069dd546aa8d7c93983c57ada.zip
Fix Windows `Command` search path bug
Diffstat (limited to 'library/std/src')
-rw-r--r--library/std/src/sys/pal/windows/process.rs3
1 files changed, 2 insertions, 1 deletions
diff --git a/library/std/src/sys/pal/windows/process.rs b/library/std/src/sys/pal/windows/process.rs
index a41dfbfe601..6eff471f386 100644
--- a/library/std/src/sys/pal/windows/process.rs
+++ b/library/std/src/sys/pal/windows/process.rs
@@ -260,9 +260,10 @@ impl Command {
         needs_stdin: bool,
         proc_thread_attribute_list: Option<&ProcThreadAttributeList<'_>>,
     ) -> io::Result<(Process, StdioPipes)> {
+        let env_saw_path = self.env.have_changed_path();
         let maybe_env = self.env.capture_if_changed();
 
-        let child_paths = if let Some(env) = maybe_env.as_ref() {
+        let child_paths = if env_saw_path && let Some(env) = maybe_env.as_ref() {
             env.get(&EnvKey::new("PATH")).map(|s| s.as_os_str())
         } else {
             None