diff --git a/synapse/handlers/room_member.py b/synapse/handlers/room_member.py index 970fec06669d2e693949c1f7b153840265cd0e94..7e6467cd1d1531847a040d17c79435e26955e617 100644 --- a/synapse/handlers/room_member.py +++ b/synapse/handlers/room_member.py @@ -189,6 +189,10 @@ class RoomMemberHandler(BaseHandler): content_specified = bool(content) if content is None: content = {} + else: + # We do a copy here as we potentially change some keys + # later on. + content = dict(content) effective_membership_state = action if action in ["kick", "unban"]: