瀏覽代碼

Merge pull request #5954 from heyitsanthony/fix-embed-cfg-validate

embed: fix nil dereference on error to set up initial cluster
Anthony Romano 9 年之前
父節點
當前提交
4835322aa1
共有 1 個文件被更改,包括 2 次插入2 次删除
  1. 2 2
      embed/etcd.go

+ 2 - 2
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)
 		}
 	}