Skip to content

Commit

Permalink
[parser/scenarios] defer yaml file closure (#2689)
Browse files Browse the repository at this point in the history
* Defer close the fd's
* Convert fatals into return with errors
  • Loading branch information
LaurenceJJones committed Jan 17, 2024
1 parent 70e8377 commit 4df4e5b
Show file tree
Hide file tree
Showing 2 changed files with 5 additions and 3 deletions.
3 changes: 2 additions & 1 deletion pkg/leakybucket/manager_load.go
Expand Up @@ -198,6 +198,7 @@ func LoadBuckets(cscfg *csconfig.CrowdsecServiceCfg, hub *cwhub.Hub, files []str
log.Errorf("Can't access leaky configuration file %s", f)
return nil, nil, err
}
defer bucketConfigurationFile.Close()
dec := yaml.NewDecoder(bucketConfigurationFile)
dec.SetStrict(true)
for {
Expand All @@ -224,7 +225,7 @@ func LoadBuckets(cscfg *csconfig.CrowdsecServiceCfg, hub *cwhub.Hub, files []str
}
ok, err := cwversion.Satisfies(bucketFactory.FormatVersion, cwversion.Constraint_scenario)
if err != nil {
log.Fatalf("Failed to check version : %s", err)
return nil, nil, fmt.Errorf("failed to check version : %s", err)
}
if !ok {
log.Errorf("can't load %s : %s doesn't satisfy scenario format %s, skip", bucketFactory.Name, bucketFactory.FormatVersion, cwversion.Constraint_scenario)
Expand Down
5 changes: 3 additions & 2 deletions pkg/parser/stage.go
Expand Up @@ -57,6 +57,7 @@ func LoadStages(stageFiles []Stagefile, pctx *UnixParserCtx, ectx EnricherCtx) (
if err != nil {
return nil, fmt.Errorf("can't access parsing configuration file %s : %s", stageFile.Filename, err)
}
defer yamlFile.Close()
//process the yaml
dec := yaml.NewDecoder(yamlFile)
dec.SetStrict(true)
Expand All @@ -70,7 +71,7 @@ func LoadStages(stageFiles []Stagefile, pctx *UnixParserCtx, ectx EnricherCtx) (
log.Tracef("End of yaml file")
break
}
log.Fatalf("Error decoding parsing configuration file '%s': %v", stageFile.Filename, err)
return nil, fmt.Errorf("error decoding parsing configuration file '%s': %v", stageFile.Filename, err)
}

//check for empty bucket
Expand All @@ -85,7 +86,7 @@ func LoadStages(stageFiles []Stagefile, pctx *UnixParserCtx, ectx EnricherCtx) (
}
ok, err := cwversion.Satisfies(node.FormatVersion, cwversion.Constraint_parser)
if err != nil {
log.Fatalf("Failed to check version : %s", err)
return nil, fmt.Errorf("failed to check version : %s", err)
}
if !ok {
log.Errorf("%s : %s doesn't satisfy parser format %s, skip", node.Name, node.FormatVersion, cwversion.Constraint_parser)
Expand Down

0 comments on commit 4df4e5b

Please sign in to comment.