Fix for Windows: do not run binaries from CWD

This fixes a bug on Windows where `Command::new` would also run
executables from the current working directory, possibly resulting in
accidental runs of programs called `less`.
This commit is contained in:
David Peter
2021-07-12 20:03:31 +02:00
committed by David Peter
parent 3617c98cf5
commit bf2b2df9c9
4 changed files with 41 additions and 2 deletions

View File

@ -4,7 +4,9 @@ use std::ffi::OsStr;
use std::process::Command;
pub fn retrieve_less_version(less_path: &dyn AsRef<OsStr>) -> Option<usize> {
let cmd = Command::new(less_path).arg("--version").output().ok()?;
let resolved_path = grep_cli::resolve_binary(less_path.as_ref()).ok()?;
let cmd = Command::new(resolved_path).arg("--version").output().ok()?;
parse_less_version(&cmd.stdout)
}