Browse Source

:gear: Fixup data race

Ettore Di Giacinto 3 years ago
parent
commit
08e1a9d6b2
1 changed files with 2 additions and 0 deletions
  1. 2 0
      pkg/node/connection.go

+ 2 - 0
pkg/node/connection.go

@@ -99,11 +99,13 @@ func (e *Node) handleEvents(ctx context.Context) {
 	for {
 	for {
 		select {
 		select {
 		case m := <-e.inputCh:
 		case m := <-e.inputCh:
+			m = m.Copy()
 			if err := m.Seal(e.sealkey()); err != nil {
 			if err := m.Seal(e.sealkey()); err != nil {
 				e.config.Logger.Warn(err.Error())
 				e.config.Logger.Warn(err.Error())
 			}
 			}
 			e.handleOutgoingMessage(m)
 			e.handleOutgoingMessage(m)
 		case m := <-e.HubRoom.Messages:
 		case m := <-e.HubRoom.Messages:
+			m = m.Copy()
 			if err := m.Unseal(e.sealkey()); err != nil {
 			if err := m.Unseal(e.sealkey()); err != nil {
 				e.config.Logger.Warn(err.Error())
 				e.config.Logger.Warn(err.Error())
 			}
 			}