Backport #22073 Gitea will attempt to lookup its location using LookPath however, this fails on cmd.exe if gitea is in the current working directory. exec.LookPath will return an exec.ErrDot error which we can test for and then simply using filepath.Abs(os.Args[0]) to absolute gitea against the current working directory. Fix #22063 Signed-off-by: Andrew Thornton <art27@cantab.net>
This commit is contained in:
parent
1409b348c6
commit
194b780cd7
1 changed files with 7 additions and 0 deletions
|
@ -464,6 +464,13 @@ func getAppPath() (string, error) {
|
||||||
appPath, err = exec.LookPath(os.Args[0])
|
appPath, err = exec.LookPath(os.Args[0])
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if err != nil {
|
||||||
|
// FIXME: Once we switch to go 1.19 use !errors.Is(err, exec.ErrDot)
|
||||||
|
if !strings.Contains(err.Error(), "cannot run executable found relative to current directory") {
|
||||||
|
return "", err
|
||||||
|
}
|
||||||
|
appPath, err = filepath.Abs(os.Args[0])
|
||||||
|
}
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return "", err
|
return "", err
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in a new issue