summary refs log tree commit diff
path: root/synapse/handlers/presence.py
diff options
context:
space:
mode:
authorRichard van der Hoff <richard@matrix.org>2019-04-26 11:13:16 +0100
committerRichard van der Hoff <richard@matrix.org>2019-04-26 11:14:49 +0100
commitbd0d45ca69587f4f258b738dfa3a55704838081e (patch)
tree1c52064312301e9f6262089e3110f948694e49db /synapse/handlers/presence.py
parentMerge remote-tracking branch 'origin/master' into develop (diff)
downloadsynapse-bd0d45ca69587f4f258b738dfa3a55704838081e.tar.xz
Fix infinite loop in presence handler
Fixes #5102
Diffstat (limited to 'synapse/handlers/presence.py')
-rw-r--r--synapse/handlers/presence.py5
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