diff --git a/changes/dont-fail-config-agent-opts-nil b/changes/dont-fail-config-agent-opts-nil new file mode 100644 index 0000000000..4dd292763a --- /dev/null +++ b/changes/dont-fail-config-agent-opts-nil @@ -0,0 +1 @@ +* Handle properly the case where the agent opts is nil in the app config. diff --git a/server/service/service_osquery.go b/server/service/service_osquery.go index 61e37810b5..5cbed99fa7 100644 --- a/server/service/service_osquery.go +++ b/server/service/service_osquery.go @@ -224,10 +224,13 @@ func (svc *Service) GetClientConfig(ctx context.Context) (map[string]interface{} return nil, osqueryError{message: "internal error: fetch base config: " + err.Error()} } - var config map[string]interface{} - err = json.Unmarshal(baseConfig, &config) - if err != nil { - return nil, osqueryError{message: "internal error: parse base configuration: " + err.Error()} + config := make(map[string]interface{}) + + if baseConfig != nil { + err = json.Unmarshal(baseConfig, &config) + if err != nil { + return nil, osqueryError{message: "internal error: parse base configuration: " + err.Error()} + } } packs, err := svc.ds.ListPacksForHost(host.ID)