Browse Source

Merge pull request #6896 from gyuho/endpoints

clientv3: return copy of endpoints, not pointer
Gyu-Ho Lee 9 năm trước cách đây
mục cha
commit
c31b1ab8d1
1 tập tin đã thay đổi với 6 bổ sung1 xóa
  1. 6 1
      clientv3/client.go

+ 6 - 1
clientv3/client.go

@@ -97,7 +97,12 @@ func (c *Client) Close() error {
 func (c *Client) Ctx() context.Context { return c.ctx }
 
 // Endpoints lists the registered endpoints for the client.
-func (c *Client) Endpoints() []string { return c.cfg.Endpoints }
+func (c *Client) Endpoints() (eps []string) {
+	// copy the slice; protect original endpoints from being changed
+	eps = make([]string, len(c.cfg.Endpoints))
+	copy(eps, c.cfg.Endpoints)
+	return
+}
 
 // SetEndpoints updates client's endpoints.
 func (c *Client) SetEndpoints(eps ...string) {