Detach non-interactive subprocesses from stdin (#34612)

## What changed

Redirect stdin to null when launching:

- `codex doctor --json` for uploaded diagnostic reports
- Git commands used by `codex doctor`
- ripgrep searches over rollout files
- the Windows sandbox setup refresh helper

This keeps these non-interactive subprocesses from reading Codex's inherited
input stream.

GitOrigin-RevId: 063d191b0b1b849d74b55a7d6ff2f0b3d5212c86
This commit is contained in:
chess authored and copyberry committed 2026-07-21 20:55:56 +00:00
1 parent c7e3838987
commit dfd2d8133c
5 files changed
+11 -2

No files matched your search

+4 -1
View File
@@ -345,7 +345,10 @@ fn run_setup_refresh_payload(b64: &str, codex_home: &Path) -> Result<()> {
};
// Refresh should never request elevation; ensure verb isn't set and we don't trigger UAC.
let mut cmd = Command::new(&exe);
cmd.arg(b64).stdout(Stdio::null()).stderr(Stdio::null());
cmd.arg(b64)
.stdin(Stdio::null())
.stdout(Stdio::null())
.stderr(Stdio::null());
let cwd = std::env::current_dir().unwrap_or_else(|_| codex_home.to_path_buf());
log_note(
&format!(