logpolicy: don't check version.CmdName on Windows unnecessarily

... it was crashing for some reason, running out of stack while
loading a DLL in goversion. I don't understand Windows (or the Go
runtime for Windows) enough to know why that'd be problematic in that
context.

In any case, don't call it, as tryFixLogStateLocation does nothing on
Windows anyway.

tryFixLogStateLocation should probably just call version.CmdName
itself if/when it needs to, after the GOOS check.
This commit is contained in:
Brad Fitzpatrick 2020-06-08 10:32:34 -07:00
parent 5c9ddf5e76
commit c3f7733f53
1 changed files with 3 additions and 1 deletions

View File

@ -305,7 +305,9 @@ func New(collection string) *Policy {
dir := logsDir()
tryFixLogStateLocation(dir, version.CmdName())
if runtime.GOOS != "windows" { // version.CmdName call was blowing some Windows stack limit via goversion DLL loading
tryFixLogStateLocation(dir, version.CmdName())
}
cfgPath := filepath.Join(dir, fmt.Sprintf("%s.log.conf", version.CmdName()))
var oldc *Config