From f9e797783accda0b01b6d1083eb174b203e23c28 Mon Sep 17 00:00:00 2001 From: Michael Eischer <eischer@cs.fau.de> Date: Fri, 3 Jul 2020 19:13:02 +0200 Subject: [PATCH] Enforce that the client stage only accepts config notifications for its group --- src/refit/replica/client/REFITClientStage.java | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/refit/replica/client/REFITClientStage.java b/src/refit/replica/client/REFITClientStage.java index a29fbb2..8e2f5be 100644 --- a/src/refit/replica/client/REFITClientStage.java +++ b/src/refit/replica/client/REFITClientStage.java @@ -212,6 +212,10 @@ public class REFITClientStage extends REFITStage { case CONFIGURATION_NOTIFICATION: REFITConfigurationNotification notification = (REFITConfigurationNotification) instruction; int limitedGroupID = Math.max(0, groupID); + if (limitedGroupID != notification.groupID) { + throw new InternalError("Got configuration for unexpected group " + notification.groupID); + } + REFITOrderProtocol protocol = notification.protocol; sendReplies = protocol.getActiveOrderRecipients(limitedGroupID)[replica.id]; contactReplica = REFITOrderGroups.getGroupPrimary(notification.groupID, notification.viewID); -- GitLab