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))
|