diff --git a/cmd/podman/containers/exec.go b/cmd/podman/containers/exec.go index 2d0b36abde..0daeb58e55 100644 --- a/cmd/podman/containers/exec.go +++ b/cmd/podman/containers/exec.go @@ -228,7 +228,7 @@ func determineTargetCtrAndCmd(args []string, latestSpecified bool, execCidFilePr if err != nil { return "", nil, fmt.Errorf("reading CIDFile: %w", err) } - nameOrID = strings.Split(string(content), "\n")[0] + nameOrID, _, _ = strings.Cut(string(content), "\n") } } return nameOrID, command, nil diff --git a/libpod/container_inspect.go b/libpod/container_inspect.go index d0730eacf3..3543dcf417 100644 --- a/libpod/container_inspect.go +++ b/libpod/container_inspect.go @@ -384,7 +384,7 @@ func (c *Container) generateInspectContainerConfig(spec *spec.Spec) *define.Insp envSecrets := c.config.EnvSecrets for envIndex, envValue := range ctrConfig.Env { // env variables come in the style `name=value` - envName := strings.Split(envValue, "=")[0] + envName, _, _ := strings.Cut(envValue, "=") _, ok := envSecrets[envName] if ok { diff --git a/pkg/domain/infra/abi/images.go b/pkg/domain/infra/abi/images.go index 2cfdf442ba..93a5323626 100644 --- a/pkg/domain/infra/abi/images.go +++ b/pkg/domain/infra/abi/images.go @@ -885,8 +885,8 @@ func transferRootful(source entities.ScpTransferImageOptions, dest entities.ScpT var uSave *user.User var uLoad *user.User var err error - source.User = strings.Split(source.User, ":")[0] // split in case provided with uid:gid - dest.User = strings.Split(dest.User, ":")[0] + source.User, _, _ = strings.Cut(source.User, ":") // In case of uid:gid. + dest.User, _, _ = strings.Cut(dest.User, ":") uSave, err = lookupUser(source.User) if err != nil { return err diff --git a/pkg/domain/utils/scp.go b/pkg/domain/utils/scp.go index 2f806e6329..74ebd184d7 100644 --- a/pkg/domain/utils/scp.go +++ b/pkg/domain/utils/scp.go @@ -361,7 +361,7 @@ func ParseImageSCPArg(arg string) (*entities.ScpTransferImageOptions, []string, switch { case strings.Contains(arg, "@localhost::"): // image transfer between users - location.User = strings.Split(arg, "@")[0] + location.User, _, _ = strings.Cut(arg, "@") location, err = ValidateImagePortion(location, arg) if err != nil { return nil, nil, err diff --git a/pkg/specgen/generate/security_linux.go b/pkg/specgen/generate/security_linux.go index aec0948011..9e33d0f517 100644 --- a/pkg/specgen/generate/security_linux.go +++ b/pkg/specgen/generate/security_linux.go @@ -157,7 +157,7 @@ func securityConfigureGenerator(s *specgen.SpecGenerator, g *generate.Generator, configSpec.Process.Capabilities.Inheritable = []string{} configSpec.Process.Capabilities.Bounding = caplist - user := strings.Split(s.User, ":")[0] + user, _, _ := strings.Cut(s.User, ":") if (user == "" && s.UserNS.NSMode != specgen.KeepID) || user == "root" || user == "0" { configSpec.Process.Capabilities.Effective = caplist diff --git a/pkg/specgenutil/util.go b/pkg/specgenutil/util.go index 225b42526e..e9a3935e32 100644 --- a/pkg/specgenutil/util.go +++ b/pkg/specgenutil/util.go @@ -21,7 +21,8 @@ func ReadPodIDFile(path string) (string, error) { if err != nil { return "", fmt.Errorf("reading pod ID file: %w", err) } - return strings.Split(string(content), "\n")[0], nil + id, _, _ := strings.Cut(string(content), "\n") + return id, nil } // ReadPodIDFiles reads the specified files and returns their content (i.e., diff --git a/pkg/systemd/quadlet/quadlet.go b/pkg/systemd/quadlet/quadlet.go index c63e305ebd..8cf739700c 100644 --- a/pkg/systemd/quadlet/quadlet.go +++ b/pkg/systemd/quadlet/quadlet.go @@ -796,7 +796,8 @@ func ConvertContainer(container *parser.UnitFile, unitsInfoMap map[string]*UnitI for _, device := range devices { if device[0] == '-' { device = device[1:] - _, err := os.Stat(strings.Split(device, ":")[0]) + file, _, _ := strings.Cut(device, ":") + _, err := os.Stat(file) if errors.Is(err, os.ErrNotExist) { continue }