From 423980614ef60a3953517027070819d9f5932baa Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Tue, 12 Aug 2025 12:04:39 +0200 Subject: [PATCH] daemon: use slices.Clone, maps.Collect in some places Signed-off-by: Sebastiaan van Stijn --- daemon/container_operations.go | 12 ++++-------- daemon/network.go | 12 ++++-------- 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/daemon/container_operations.go b/daemon/container_operations.go index 68c64a49eb..4dbdc35103 100644 --- a/daemon/container_operations.go +++ b/daemon/container_operations.go @@ -4,10 +4,12 @@ import ( "context" "errors" "fmt" + "maps" "net" "net/netip" "os" "runtime" + "slices" "strings" "time" @@ -115,16 +117,10 @@ func buildSandboxOptions(cfg *config.Config, ctr *container.Container) ([]libnet // slice (PortMap is a map[Port][]PortBinding). bindings := make(containertypes.PortMap) for p, b := range ctr.HostConfig.PortBindings { - copied := make([]containertypes.PortBinding, len(b)) - copy(copied, b) - bindings[p] = copied + bindings[p] = slices.Clone(b) } - // TODO(thaJeztah): Move this code to a method on nat.PortSet. - ports := make([]containertypes.PortRangeProto, 0, len(ctr.Config.ExposedPorts)) - for p := range ctr.Config.ExposedPorts { - ports = append(ports, p) - } + ports := slices.Collect(maps.Keys(ctr.Config.ExposedPorts)) nat.SortPortMap(ports, bindings) var ( diff --git a/daemon/network.go b/daemon/network.go index 3487e86326..512fc150c7 100644 --- a/daemon/network.go +++ b/daemon/network.go @@ -4,8 +4,10 @@ import ( "context" "errors" "fmt" + "maps" "net" "net/netip" + "slices" "sort" "strconv" "strings" @@ -954,16 +956,10 @@ func buildPortsRelatedCreateEndpointOptions(c *container.Container, n *libnetwor // slice (PortMap is a map[Port][]PortBinding). bindings := make(containertypes.PortMap) for p, b := range c.HostConfig.PortBindings { - copied := make([]containertypes.PortBinding, len(b)) - copy(copied, b) - bindings[p] = copied + bindings[p] = slices.Clone(b) } - // TODO(thaJeztah): Move this code to a method on nat.PortSet. - ports := make([]containertypes.PortRangeProto, 0, len(c.Config.ExposedPorts)) - for p := range c.Config.ExposedPorts { - ports = append(ports, p) - } + ports := slices.Collect(maps.Keys(bindings)) nat.SortPortMap(ports, bindings) var (