From 34602b87ec2765d8ab0f54fa53d35d5799f653cd Mon Sep 17 00:00:00 2001 From: Anthony Romano Date: Fri, 15 Jul 2016 14:34:06 -0700 Subject: [PATCH] embed: fix nil dereference on error to set up initial cluster --- embed/etcd.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/embed/etcd.go b/embed/etcd.go index 2f7696eff..f9cdc0ca9 100644 --- a/embed/etcd.go +++ b/embed/etcd.go @@ -66,7 +66,7 @@ func StartEtcd(inCfg *Config) (e *Etcd, err error) { e = &Etcd{cfg: *inCfg} cfg := &e.cfg defer func() { - if err != nil { + if e != nil && err != nil { e.Close() e = nil } @@ -90,7 +90,7 @@ func StartEtcd(inCfg *Config) (e *Etcd, err error) { if !isMemberInitialized(cfg) { urlsmap, token, err = cfg.PeerURLsMapAndToken("etcd") if err != nil { - return nil, fmt.Errorf("error setting up initial cluster: %v", err) + return e, fmt.Errorf("error setting up initial cluster: %v", err) } }