Use strconv.Atoi for uid/gid parsing
This follows the same logic that runc uses for parsing uid/gid values. Signed-off-by: Michael Crosby <crosbymichael@gmail.com>
This commit is contained in:
parent
8114d2f2e2
commit
a4a4c90ed3
@ -101,7 +101,7 @@ func WithImageConfig(image Image) SpecOpts {
|
|||||||
parts := strings.Split(config.User, ":")
|
parts := strings.Split(config.User, ":")
|
||||||
switch len(parts) {
|
switch len(parts) {
|
||||||
case 1:
|
case 1:
|
||||||
v, err := strconv.ParseUint(parts[0], 0, 10)
|
v, err := strconv.Atoi(parts[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
// if we cannot parse as a uint they try to see if it is a username
|
// if we cannot parse as a uint they try to see if it is a username
|
||||||
if err := WithUsername(config.User)(ctx, client, c, s); err != nil {
|
if err := WithUsername(config.User)(ctx, client, c, s); err != nil {
|
||||||
@ -113,13 +113,13 @@ func WithImageConfig(image Image) SpecOpts {
|
|||||||
return err
|
return err
|
||||||
}
|
}
|
||||||
case 2:
|
case 2:
|
||||||
v, err := strconv.ParseUint(parts[0], 0, 10)
|
v, err := strconv.Atoi(parts[0])
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return err
|
return errors.Wrapf(err, "parse uid %s", parts[0])
|
||||||
}
|
}
|
||||||
uid := uint32(v)
|
uid := uint32(v)
|
||||||
if v, err = strconv.ParseUint(parts[1], 0, 10); err != nil {
|
if v, err = strconv.Atoi(parts[1]); err != nil {
|
||||||
return err
|
return errors.Wrapf(err, "parse gid %s", parts[1])
|
||||||
}
|
}
|
||||||
gid := uint32(v)
|
gid := uint32(v)
|
||||||
s.Process.User.UID, s.Process.User.GID = uid, gid
|
s.Process.User.UID, s.Process.User.GID = uid, gid
|
||||||
|
Loading…
Reference in New Issue
Block a user