summary refs log tree commit diff
path: root/synapse
diff options
context:
space:
mode:
Diffstat (limited to 'synapse')
-rw-r--r--synapse/storage/end_to_end_keys.py11
1 files changed, 5 insertions, 6 deletions
diff --git a/synapse/storage/end_to_end_keys.py b/synapse/storage/end_to_end_keys.py
index b746f74269..c4020869f4 100644
--- a/synapse/storage/end_to_end_keys.py
+++ b/synapse/storage/end_to_end_keys.py
@@ -149,12 +149,11 @@ class EndToEndKeyStore(SQLBaseStore):
 
         new_keys = []  # Keys that we need to insert
         for algorithm, key_id, json_bytes in key_list:
-            if (algorithm, key_id) in existing_key_map:
-                ex_bytes = existing_key_map[key_id]
-                if json_bytes != ex_bytes:
-                    raise SynapseError(
-                        400, "One time key with key_id %r already exists" % (key_id,)
-                    )
+            ex_bytes = existing_key_map.get((algorithm, key_id), None)
+            if ex_bytes and json_bytes != ex_bytes:
+                raise SynapseError(
+                    400, "One time key with key_id %r already exists" % (key_id,)
+                )
             else:
                 new_keys.append((algorithm, key_id, json_bytes))