Browse Source

Check for node's presence in networkDB's node map before accessing.

Signed-off-by: Santhosh Manohar <santhosh@docker.com>
Santhosh Manohar 8 years ago
parent
commit
0c2b4b267c
1 changed files with 6 additions and 4 deletions
  1. 6 4
      libnetwork/networkdb/networkdb.go

+ 6 - 4
libnetwork/networkdb/networkdb.go

@@ -211,10 +211,12 @@ func (nDB *NetworkDB) Peers(nid string) []PeerInfo {
 	defer nDB.RUnlock()
 	peers := make([]PeerInfo, 0, len(nDB.networkNodes[nid]))
 	for _, nodeName := range nDB.networkNodes[nid] {
-		peers = append(peers, PeerInfo{
-			Name: nDB.nodes[nodeName].Name,
-			IP:   nDB.nodes[nodeName].Addr.String(),
-		})
+		if node, ok := nDB.nodes[nodeName]; ok {
+			peers = append(peers, PeerInfo{
+				Name: node.Name,
+				IP:   node.Addr.String(),
+			})
+		}
 	}
 	return peers
 }