Skip to content

InitConfig accesses config.Releases without checking Init error #156

Description

@zacharyblasczyk

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions