diff options
author | Richard van der Hoff <richard@matrix.org> | 2019-04-26 11:13:16 +0100 |
---|---|---|
committer | Richard van der Hoff <richard@matrix.org> | 2019-04-26 11:14:49 +0100 |
commit | bd0d45ca69587f4f258b738dfa3a55704838081e (patch) | |
tree | 1c52064312301e9f6262089e3110f948694e49db /synapse/handlers/presence.py | |
parent | Merge remote-tracking branch 'origin/master' into develop (diff) | |
download | synapse-bd0d45ca69587f4f258b738dfa3a55704838081e.tar.xz |
Fix infinite loop in presence handler
Fixes #5102
Diffstat (limited to 'synapse/handlers/presence.py')
-rw-r--r-- | synapse/handlers/presence.py | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/synapse/handlers/presence.py b/synapse/handlers/presence.py index bd1285b15c..59d53f1050 100644 --- a/synapse/handlers/presence.py +++ b/synapse/handlers/presence.py @@ -828,6 +828,11 @@ class PresenceHandler(object): if typ != EventTypes.Member: continue + if event_id is None: + # state has been deleted, so this is not a join. We only care about + # joins. + continue + event = yield self.store.get_event(event_id) if event.content.get("membership") != Membership.JOIN: # We only care about joins |