From 5445d0bc5cda8a1740fe8cf08b2334d3acdf7bc3 Mon Sep 17 00:00:00 2001
From: Benjamin Wenger <ben@elixxir.ioo>
Date: Mon, 22 Feb 2021 17:10:52 -0800
Subject: [PATCH] fixed non local access to the output of a for loop

---
 network/message/critical.go | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/network/message/critical.go b/network/message/critical.go
index 99c83d984..0ba2fa1e2 100644
--- a/network/message/critical.go
+++ b/network/message/critical.go
@@ -15,6 +15,7 @@ import (
 	ds "gitlab.com/elixxir/comms/network/dataStructures"
 	"gitlab.com/elixxir/primitives/format"
 	"gitlab.com/elixxir/primitives/states"
+	"gitlab.com/xx_network/primitives/id"
 	"time"
 )
 
@@ -83,7 +84,8 @@ func (m *Manager) criticalMessages() {
 	param := params.GetDefaultCMIX()
 	//raw critical messages
 	for msg, rid, has := critRawMsgs.Next(); has; msg, rid, has = critRawMsgs.Next() {
-		go func(msg format.Message) {
+		localRid := rid.DeepCopy()
+		go func(msg format.Message, rid *id.ID) {
 			//send the message
 			round, _, err := m.SendCMIX(msg, rid, param)
 			//if the message fail to send, notify the buffer so it can be handled
@@ -112,7 +114,7 @@ func (m *Manager) criticalMessages() {
 				return
 			}
 			critRawMsgs.Succeeded(msg, rid)
-		}(msg)
+		}(msg, localRid)
 	}
 
-}
+}
\ No newline at end of file
-- 
GitLab