From 9838afc3ad47a238eec9ceae807288aecff330b6 Mon Sep 17 00:00:00 2001 From: jsolman Date: Thu, 21 Mar 2019 00:15:04 -0700 Subject: [PATCH] Fix a merge issue. OnConsensusPayload method should not be accepting PrepareRequest and PrepareResponse from different views. --- neo/Consensus/ConsensusService.cs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/neo/Consensus/ConsensusService.cs b/neo/Consensus/ConsensusService.cs index 73b1614dd4..b38a673b49 100644 --- a/neo/Consensus/ConsensusService.cs +++ b/neo/Consensus/ConsensusService.cs @@ -266,7 +266,11 @@ private void OnConsensusPayload(ConsensusPayload payload) foreach (IP2PPlugin plugin in Plugin.P2PPlugins) if (!plugin.OnConsensusMessage(payload)) return; - switch (payload.ConsensusMessage) + ConsensusMessage message = payload.ConsensusMessage; + if (message.ViewNumber != context.ViewNumber && (message.Type == ConsensusMessageType.PrepareRequest || + message.Type == ConsensusMessageType.PrepareResponse)) + return; + switch (message) { case ChangeView view: OnChangeViewReceived(payload, view);