Description
In pkg/helm/chart.go:45-50, config.Releases.MaxHistory is set immediately after config.Init() without first checking if err is non-nil:
err := config.Init(
settings.RESTClientGetter(),
settings.Namespace(),
secretsStorageDriver,
)
config.Releases.MaxHistory = maxReleasesToKeep
return settings, config, err
If Init fails and doesn't initialize the Releases field, this will panic with a nil pointer dereference. In practice Helm likely always initializes Releases, but this is technically unsafe error handling.
Suggested fix
if err != nil {
return settings, config, err
}
config.Releases.MaxHistory = maxReleasesToKeep
return settings, config, nil
Found during review of #147.
Description
In
pkg/helm/chart.go:45-50,config.Releases.MaxHistoryis set immediately afterconfig.Init()without first checking iferris non-nil:If
Initfails and doesn't initialize theReleasesfield, this will panic with a nil pointer dereference. In practice Helm likely always initializesReleases, but this is technically unsafe error handling.Suggested fix
Found during review of #147.