Skip to content

Commit

Permalink
Fix possible nil pointer exception
Browse files Browse the repository at this point in the history
It is possible that the node is not yet present in
the node list map. In this case just print a warning
and return. The next iteration would be fine

Signed-off-by: Flavio Crisciani <flavio.crisciani@docker.com>
(cherry picked from commit 1954e1c)
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
  • Loading branch information
Flavio Crisciani authored and thaJeztah committed Jan 23, 2019
1 parent 7a5f198 commit d20ece4
Show file tree
Hide file tree
Showing 2 changed files with 9 additions and 6 deletions.
8 changes: 3 additions & 5 deletions network.go
Original file line number Diff line number Diff line change
Expand Up @@ -396,11 +396,9 @@ func (n *network) validateConfiguration() error {
driverOptions map[string]string
opts interface{}
)
switch data.(type) {
case map[string]interface{}:
opts = data.(map[string]interface{})
case map[string]string:
opts = data.(map[string]string)
switch t := data.(type) {
case map[string]interface{}, map[string]string:
opts = t
}
ba, err := json.Marshal(opts)
if err != nil {
Expand Down
7 changes: 6 additions & 1 deletion networkdb/cluster.go
Original file line number Diff line number Diff line change
Expand Up @@ -288,7 +288,12 @@ func (nDB *NetworkDB) rejoinClusterBootStrap() {
return
}

myself, _ := nDB.nodes[nDB.config.NodeID]
myself, ok := nDB.nodes[nDB.config.NodeID]
if !ok {
nDB.RUnlock()
logrus.Warnf("rejoinClusterBootstrap unable to find local node info using ID:%v", nDB.config.NodeID)
return
}
bootStrapIPs := make([]string, 0, len(nDB.bootStrapIP))
for _, bootIP := range nDB.bootStrapIP {
// botostrap IPs are usually IP:port from the Join
Expand Down

0 comments on commit d20ece4

Please sign in to comment.