From ea7bfc21fde727a1badda939f4caf59d04467f21 Mon Sep 17 00:00:00 2001 From: Benjamin Wenger <ben@elixxir.ioo> Date: Wed, 29 Dec 2021 12:34:24 -0800 Subject: [PATCH] fixed a crash due to a replay check with bad code --- network/message/handler.go | 12 +++++++----- storage/utility/meteredCmixMessageBuffer.go | 2 +- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/network/message/handler.go b/network/message/handler.go index ecced449e..b7574f4cf 100644 --- a/network/message/handler.go +++ b/network/message/handler.go @@ -126,17 +126,19 @@ func (m *Manager) handleMessage(ecrMsg format.Message, bundle Bundle, edge *edge return } - im := fmt.Sprintf("Received message of type %s from %s in round %d,"+ - " msgDigest: %s, keyFP: %v", encTy, sender, bundle.Round, - msgDigest, msg.GetKeyFP()) - jww.INFO.Print(im) - m.Internal.Events.Report(2, "MessageReception", "MessagePart", im) + // Process the decrypted/unencrypted message partition, to see if // we get a full message xxMsg, ok := m.partitioner.HandlePartition(sender, encTy, msg.GetContents(), relationshipFingerprint) + im := fmt.Sprintf("Received message of ecr type %s and msg type " + + "%d from %s in round %d,msgDigest: %s, keyFP: %v", encTy, + xxMsg.MessageType, sender, bundle.Round, msgDigest, msg.GetKeyFP()) + jww.INFO.Print(im) + m.Internal.Events.Report(2, "MessageReception", "MessagePart", im) + // If the reception completed a message, hear it on the switchboard if ok { //Set the identities diff --git a/storage/utility/meteredCmixMessageBuffer.go b/storage/utility/meteredCmixMessageBuffer.go index dd5ade5a3..8060b4781 100644 --- a/storage/utility/meteredCmixMessageBuffer.go +++ b/storage/utility/meteredCmixMessageBuffer.go @@ -56,7 +56,7 @@ func (*meteredCmixMessageHandler) LoadMessage(kv *versioned.KV, key string) (int // Load the versioned object vo, err := kv.Get(key, currentMeteredCmixMessageVersion) if err != nil { - return format.Message{}, err + return nil, err } msg := meteredCmixMessage{} -- GitLab