From d7d88ce37db62f5fb45f7b38ca23bf7a6c75a2af Mon Sep 17 00:00:00 2001 From: Alessandro Boch Date: Fri, 17 Jun 2016 15:41:16 -0700 Subject: [PATCH] Make getSvcRecords() more robust Signed-off-by: Alessandro Boch --- libnetwork/network.go | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/libnetwork/network.go b/libnetwork/network.go index 1bf003ebf3..6063ef085b 100644 --- a/libnetwork/network.go +++ b/libnetwork/network.go @@ -1099,14 +1099,22 @@ func (n *network) getSvcRecords(ep *endpoint) []etchosts.Record { n.Lock() defer n.Unlock() + if ep == nil { + return nil + } + var recs []etchosts.Record sr, _ := n.ctrlr.svcRecords[n.id] + epName := ep.Name() for h, ip := range sr.svcMap { - if ep != nil && strings.Split(h, ".")[0] == ep.Name() { + if strings.Split(h, ".")[0] == epName { + continue + } + if len(ip) == 0 { + log.Warnf("Found empty list of IP addresses for service %s on network %s (%s)", h, n.Name(), n.ID()) continue } - recs = append(recs, etchosts.Record{ Hosts: h, IP: ip[0].String(),