diff options
| author | Joakim Hulthe <joakim.hulthe@mullvad.net> | 2025-10-16 13:05:41 +0200 |
|---|---|---|
| committer | Joakim Hulthe <joakim.hulthe@mullvad.net> | 2025-10-24 13:54:27 +0200 |
| commit | 857546e97bf595197b62d1815b968283a6cf2f80 (patch) | |
| tree | ec0621774ad816c129c24b61a98536eb130852d6 | |
| parent | 94a0d663d5f9a1f3bba852c15bb73cb9792001d3 (diff) | |
| download | mullvadvpn-857546e97bf595197b62d1815b968283a6cf2f80.tar.xz mullvadvpn-857546e97bf595197b62d1815b968283a6cf2f80.zip | |
Handle closed stdin in mullvad-release
| -rw-r--r-- | mullvad-update/mullvad-release/src/io_util.rs | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/mullvad-update/mullvad-release/src/io_util.rs b/mullvad-update/mullvad-release/src/io_util.rs index 02f61e6669..2821bc10a1 100644 --- a/mullvad-update/mullvad-release/src/io_util.rs +++ b/mullvad-update/mullvad-release/src/io_util.rs @@ -2,7 +2,7 @@ use std::path::Path; -use anyhow::Context; +use anyhow::{Context, bail}; use tokio::fs; /// Wait for user to respond with yes or no @@ -51,7 +51,11 @@ pub async fn wait_for_input(prompt: &str) -> anyhow::Result<String> { println!("{prompt}"); - stdin.read_line(&mut s).context("Failed to read line")?; + let n = stdin.read_line(&mut s).context("Failed to read line")?; + + if n == 0 { + bail!("stdin reached EOF"); + } match s.trim().to_ascii_lowercase().as_str() { "" => continue, |
