From a7e6d0a8a300bcc99298d8ffdc1df28bd761a19d Mon Sep 17 00:00:00 2001 From: Albin Kerouanton Date: Tue, 21 Jan 2025 14:58:49 +0100 Subject: [PATCH] libnet/d/bridge: releasePortBindings: append directly into 'errs' Signed-off-by: Albin Kerouanton --- .../drivers/bridge/port_mapping_linux.go | 25 ++++++++----------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/libnetwork/drivers/bridge/port_mapping_linux.go b/libnetwork/drivers/bridge/port_mapping_linux.go index 5b1a3fdf28..dd8e2801ff 100644 --- a/libnetwork/drivers/bridge/port_mapping_linux.go +++ b/libnetwork/drivers/bridge/port_mapping_linux.go @@ -726,30 +726,27 @@ func (n *bridgeNetwork) releasePorts(ep *bridgeEndpoint) error { func (n *bridgeNetwork) releasePortBindings(pbs []portBinding) error { var errs []error for _, pb := range pbs { - var errS, errPD, errP error if pb.boundSocket != nil { - errS = pb.boundSocket.Close() - if errS != nil { - errS = fmt.Errorf("failed to close socket for port mapping %s: %w", pb, errS) + if err := pb.boundSocket.Close(); err != nil { + errs = append(errs, fmt.Errorf("failed to close socket for port mapping %s: %w", pb, err)) } } if pb.portDriverRemove != nil { - errPD = pb.portDriverRemove() - } - if pb.stopProxy != nil { - errP = pb.stopProxy() - if errP != nil { - errP = fmt.Errorf("failed to stop userland proxy for port mapping %s: %w", pb, errP) + if err := pb.portDriverRemove(); err != nil { + errs = append(errs, err) } } - errN := n.setPerPortIptables(pb, false) - if errN != nil { - errN = fmt.Errorf("failed to remove iptables rules for port mapping %s: %w", pb, errN) + if pb.stopProxy != nil { + if err := pb.stopProxy(); err != nil { + errs = append(errs, fmt.Errorf("failed to stop userland proxy for port mapping %s: %w", pb, err)) + } + } + if err := n.setPerPortIptables(pb, false); err != nil { + errs = append(errs, fmt.Errorf("failed to remove iptables rules for port mapping %s: %w", pb, err)) } if pb.HostPort > 0 { portallocator.Get().ReleasePort(pb.childHostIP, pb.Proto.String(), int(pb.HostPort)) } - errs = append(errs, errS, errPD, errP, errN) } return errors.Join(errs...) }