main: haveFusermount2: respect PATH environment variable

Use exec.LookPath() to find fusermount in the user's PATH
first. Fall back to /bin/fusermount for the case that PATH
is not set, like go-fuse does.

Fixes https://github.com/rfjakob/gocryptfs/issues/448
This commit is contained in:
Jakob Unterwurzacher 2020-01-14 23:12:56 +01:00
parent 367b7e8647
commit a48d7fac2c
1 changed files with 6 additions and 2 deletions

View File

@ -441,10 +441,14 @@ func initGoFuse(fs pathfs.FileSystem, args *argContainer) *fuse.Server {
// haveFusermount2 finds out if the "fusermount" binary is from libfuse 2.x.
func haveFusermount2() bool {
cmd := exec.Command("/bin/fusermount", "-V")
path, err := exec.LookPath("fusermount")
if err != nil {
path = "/bin/fusermount"
}
cmd := exec.Command(path, "-V")
var out bytes.Buffer
cmd.Stdout = &out
err := cmd.Run()
err = cmd.Run()
if err != nil {
tlog.Warn.Printf("warning: haveFusermount2: %v", err)
return false