Selaa lähdekoodia

Fix bug in DeleteNeighbor

- stop iterating after changing the list reference

Signed-off-by: Alessandro Boch <aboch@docker.com>
Alessandro Boch 8 vuotta sitten
vanhempi
commit
6afe20096d
1 muutettua tiedostoa jossa 1 lisäystä ja 0 poistoa
  1. 1 0
      libnetwork/osl/neigh_linux.go

+ 1 - 0
libnetwork/osl/neigh_linux.go

@@ -80,6 +80,7 @@ func (n *networkNamespace) DeleteNeighbor(dstIP net.IP, dstMac net.HardwareAddr,
 	for i, nh := range n.neighbors {
 	for i, nh := range n.neighbors {
 		if nh.dstIP.Equal(dstIP) && bytes.Equal(nh.dstMac, dstMac) {
 		if nh.dstIP.Equal(dstIP) && bytes.Equal(nh.dstMac, dstMac) {
 			n.neighbors = append(n.neighbors[:i], n.neighbors[i+1:]...)
 			n.neighbors = append(n.neighbors[:i], n.neighbors[i+1:]...)
+			break
 		}
 		}
 	}
 	}
 	n.Unlock()
 	n.Unlock()