Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix potential nil pointer dereference in cli #239

Merged
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
20 changes: 9 additions & 11 deletions cmd/garm-cli/cmd/pool.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,7 @@ var (
priority uint
)

type poolPayloadGetter interface {
type poolsPayloadGetter interface {
GetPayload() params.Pools
}

Expand Down Expand Up @@ -98,7 +98,7 @@ Example:
return errNeedsInitError
}

var response poolPayloadGetter
var response poolsPayloadGetter
var err error

switch len(args) {
Expand Down Expand Up @@ -192,6 +192,10 @@ var poolDeleteCmd = &cobra.Command{
},
}

type poolPayloadGetter interface {
GetPayload() params.Pool
}

var poolAddCmd = &cobra.Command{
Use: "add",
Aliases: []string{"create"},
Expand Down Expand Up @@ -242,30 +246,23 @@ var poolAddCmd = &cobra.Command{
return err
}

var pool params.Pool
var err error

var response poolPayloadGetter
if cmd.Flags().Changed("repo") {
var response *apiClientRepos.CreateRepoPoolOK
newRepoPoolReq := apiClientRepos.NewCreateRepoPoolParams()
newRepoPoolReq.RepoID = poolRepository
newRepoPoolReq.Body = newPoolParams
response, err = apiCli.Repositories.CreateRepoPool(newRepoPoolReq, authToken)
pool = response.Payload
} else if cmd.Flags().Changed("org") {
var response *apiClientOrgs.CreateOrgPoolOK
newOrgPoolReq := apiClientOrgs.NewCreateOrgPoolParams()
newOrgPoolReq.OrgID = poolOrganization
newOrgPoolReq.Body = newPoolParams
response, err = apiCli.Organizations.CreateOrgPool(newOrgPoolReq, authToken)
pool = response.Payload
} else if cmd.Flags().Changed("enterprise") {
var response *apiClientEnterprises.CreateEnterprisePoolOK
newEnterprisePoolReq := apiClientEnterprises.NewCreateEnterprisePoolParams()
newEnterprisePoolReq.EnterpriseID = poolEnterprise
newEnterprisePoolReq.Body = newPoolParams
response, err = apiCli.Enterprises.CreateEnterprisePool(newEnterprisePoolReq, authToken)
pool = response.Payload
} else {
cmd.Help() //nolint
os.Exit(0)
Expand All @@ -274,7 +271,8 @@ var poolAddCmd = &cobra.Command{
if err != nil {
return err
}
formatOnePool(pool)

formatOnePool(response.GetPayload())
return nil
},
}
Expand Down
Loading