From 25dc18518e0873c87a917be2ea104433f82c769f Mon Sep 17 00:00:00 2001 From: Patrick Connolly Date: Tue, 23 Oct 2018 19:10:32 +0800 Subject: [PATCH 1/4] Fixed pointer/reference issue in populateUsers. [#536] --- bridge/slack/helpers.go | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/bridge/slack/helpers.go b/bridge/slack/helpers.go index 18dded3b..6226544a 100644 --- a/bridge/slack/helpers.go +++ b/bridge/slack/helpers.go @@ -65,8 +65,11 @@ func (b *Bslack) populateUsers() { } newUsers := map[string]*slack.User{} - for _, user := range users { - newUsers[user.ID] = &user + for i, _ := range users { + // Use array index for pointer, not the copy + // See: https://stackoverflow.com/a/29498133/504018 + u := &users[i] + newUsers[u.ID] = u } b.usersMutex.Lock() From 7705aa2a3b5acd8fc27fccdaecacaa377a8c642a Mon Sep 17 00:00:00 2001 From: Patrick Connolly Date: Wed, 24 Oct 2018 01:32:50 +0800 Subject: [PATCH 2/4] Accepted codestyle suggestion. --- bridge/slack/helpers.go | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/bridge/slack/helpers.go b/bridge/slack/helpers.go index 6226544a..06cd1757 100644 --- a/bridge/slack/helpers.go +++ b/bridge/slack/helpers.go @@ -68,8 +68,7 @@ func (b *Bslack) populateUsers() { for i, _ := range users { // Use array index for pointer, not the copy // See: https://stackoverflow.com/a/29498133/504018 - u := &users[i] - newUsers[u.ID] = u + newUsers[users[i].ID] = &users[i] } b.usersMutex.Lock() From 76a601a474bd82852426010f5f27dcd9daf5f655 Mon Sep 17 00:00:00 2001 From: Wim Date: Wed, 24 Oct 2018 11:38:57 +0800 Subject: [PATCH 3/4] Update bridge/slack/helpers.go Co-Authored-By: patcon --- bridge/slack/helpers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bridge/slack/helpers.go b/bridge/slack/helpers.go index 06cd1757..eee91f4a 100644 --- a/bridge/slack/helpers.go +++ b/bridge/slack/helpers.go @@ -65,7 +65,7 @@ func (b *Bslack) populateUsers() { } newUsers := map[string]*slack.User{} - for i, _ := range users { + for i := range users { // Use array index for pointer, not the copy // See: https://stackoverflow.com/a/29498133/504018 newUsers[users[i].ID] = &users[i] From 24a60f262a2183b74f0ab2d0661652626aad1b91 Mon Sep 17 00:00:00 2001 From: Patrick Connolly Date: Wed, 24 Oct 2018 11:58:20 +0800 Subject: [PATCH 4/4] Update helpers.go --- bridge/slack/helpers.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/bridge/slack/helpers.go b/bridge/slack/helpers.go index eee91f4a..8508d152 100644 --- a/bridge/slack/helpers.go +++ b/bridge/slack/helpers.go @@ -68,7 +68,7 @@ func (b *Bslack) populateUsers() { for i := range users { // Use array index for pointer, not the copy // See: https://stackoverflow.com/a/29498133/504018 - newUsers[users[i].ID] = &users[i] + newUsers[users[i].ID] = &users[i] } b.usersMutex.Lock()