Reject non-regular explicit config files

This commit is contained in:
Brandon McGinty (chatgpt)
2026-08-09 23:11:31 -04:00
committed by Brandon McGinty
parent 6da5b249f9
commit b23afebdb3
2 changed files with 12 additions and 2 deletions
+2 -2
View File
@@ -364,8 +364,8 @@ func RequireConfigFile(fn string) error {
if err != nil {
return fmt.Errorf("config file %q: %w", path, err)
}
if info.IsDir() {
return fmt.Errorf("config file %q is a directory", path)
if !info.Mode().IsRegular() {
return fmt.Errorf("config file %q is not a regular file", path)
}
return nil
}
+10
View File
@@ -17,6 +17,16 @@ func TestRequireConfigFileRejectsMissingExplicitPath(t *testing.T) {
}
}
func TestRequireConfigFileRejectsNonRegularFile(t *testing.T) {
path := filepath.Join(t.TempDir(), "config.fifo")
if err := os.Mkdir(path, 0700); err != nil {
t.Fatal(err)
}
if err := RequireConfigFile(path); err == nil {
t.Fatal("directory was accepted as an explicit config file")
}
}
func TestConfigBackfillsRecordingDefaults(t *testing.T) {
dir := t.TempDir()
configPath := filepath.Join(dir, "barnard.toml")