diff --git a/cmd/ocitools/generate.go b/cmd/ocitools/generate.go index 39c45567c..aaac7d769 100644 --- a/cmd/ocitools/generate.go +++ b/cmd/ocitools/generate.go @@ -174,7 +174,11 @@ func setupSpec(g *generate.Generator, context *cli.Context) error { if context.IsSet("groups") { groups := context.StringSlice("groups") for _, group := range groups { - g.AddProcessAdditionalGid(group) + groupID, err := strconv.Atoi(group) + if err != nil { + return err + } + g.AddProcessAdditionalGid(uint32(groupID)) } } diff --git a/generate/generate.go b/generate/generate.go index dcc36a058..2ebd86956 100644 --- a/generate/generate.go +++ b/generate/generate.go @@ -330,20 +330,14 @@ func (g *Generator) ClearProcessAdditionalGids() { } // AddProcessAdditionalGid adds an additional gid into g.spec.Process.AdditionalGids. -func (g *Generator) AddProcessAdditionalGid(gid string) error { - groupID, err := strconv.Atoi(gid) - if err != nil { - return err - } - +func (g *Generator) AddProcessAdditionalGid(gid uint32) { g.initSpec() for _, group := range g.spec.Process.User.AdditionalGids { - if group == uint32(groupID) { - return nil + if group == gid { + return } } - g.spec.Process.User.AdditionalGids = append(g.spec.Process.User.AdditionalGids, uint32(groupID)) - return nil + g.spec.Process.User.AdditionalGids = append(g.spec.Process.User.AdditionalGids, gid) } // SetProcessSelinuxLabel sets g.spec.Process.SelinuxLabel.