From 214ab2caeff253ae00f5a2a8969df495f31ee2bd Mon Sep 17 00:00:00 2001 From: Sebastiaan van Stijn Date: Fri, 29 Dec 2023 11:24:52 +0100 Subject: [PATCH] libnetwork/portmapper: PortMapper.MapRange: inline "cleanup" closure The cleanup function never returns an error, so didn't add much value. This patch removes the closure, and calls it inline to remove the extra indirection, and removes the error which would never be returned. Signed-off-by: Sebastiaan van Stijn --- libnetwork/portmapper/mapper.go | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/libnetwork/portmapper/mapper.go b/libnetwork/portmapper/mapper.go index 224f3aa5da..db75a45d74 100644 --- a/libnetwork/portmapper/mapper.go +++ b/libnetwork/portmapper/mapper.go @@ -47,7 +47,7 @@ func NewWithPortAllocator(allocator *portallocator.PortAllocator, proxyPath stri } // Map maps the specified container transport address to the host's network address and transport port -func (pm *PortMapper) Map(container net.Addr, hostIP net.IP, hostPort int, useProxy bool) (host net.Addr, err error) { +func (pm *PortMapper) Map(container net.Addr, hostIP net.IP, hostPort int, useProxy bool) (host net.Addr, _ error) { return pm.MapRange(container, hostIP, hostPort, hostPort, useProxy) } @@ -174,17 +174,11 @@ func (pm *PortMapper) MapRange(container net.Addr, hostIP net.IP, hostPortStart, return nil, err } - cleanup := func() error { - // need to undo the iptables rules before we return - m.userlandProxy.Stop() - pm.DeleteForwardingTableEntry(m.proto, hostIP, allocatedHostPort, containerIP.String(), containerPort) - return nil - } - if err := m.userlandProxy.Start(); err != nil { - if err := cleanup(); err != nil { - return nil, fmt.Errorf("Error during port allocation cleanup: %v", err) - } + // FIXME(thaJeztah): both stopping the proxy and deleting iptables rules can produce an error, and both are not currently handled. + m.userlandProxy.Stop() + // need to undo the iptables rules before we return + pm.DeleteForwardingTableEntry(m.proto, hostIP, allocatedHostPort, containerIP.String(), containerPort) return nil, err }