From 3dd80d4cd29c923dc262bc07830925c6fbcb6b55 Mon Sep 17 00:00:00 2001 From: Neil Alexander Date: Wed, 28 Jul 2021 16:26:21 +0100 Subject: [PATCH] oh wait --- keyserver/storage/postgres/cross_signing_keys_table.go | 4 +++- keyserver/storage/sqlite3/cross_signing_keys_table.go | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/keyserver/storage/postgres/cross_signing_keys_table.go b/keyserver/storage/postgres/cross_signing_keys_table.go index 4862d137..766e94b3 100644 --- a/keyserver/storage/postgres/cross_signing_keys_table.go +++ b/keyserver/storage/postgres/cross_signing_keys_table.go @@ -68,7 +68,6 @@ func (s *crossSigningKeysStatements) SelectCrossSigningKeysForUser( return nil, err } defer internal.CloseAndLogIfError(ctx, rows, "selectCrossSigningKeysForUserStmt: rows.close() failed") - r = api.CrossSigningKeyMap{} for rows.Next() { var keyType gomatrixserverlib.CrossSigningKeyPurpose var keyID gomatrixserverlib.KeyID @@ -76,6 +75,9 @@ func (s *crossSigningKeysStatements) SelectCrossSigningKeysForUser( if err := rows.Scan(&keyType, &keyID, &keyData); err != nil { return nil, err } + if _, ok := r[keyType]; !ok { + r[keyType] = map[gomatrixserverlib.KeyID]gomatrixserverlib.Base64Bytes{} + } r[keyType][keyID] = keyData } return diff --git a/keyserver/storage/sqlite3/cross_signing_keys_table.go b/keyserver/storage/sqlite3/cross_signing_keys_table.go index 76092b02..d647906d 100644 --- a/keyserver/storage/sqlite3/cross_signing_keys_table.go +++ b/keyserver/storage/sqlite3/cross_signing_keys_table.go @@ -68,7 +68,6 @@ func (s *crossSigningKeysStatements) SelectCrossSigningKeysForUser( return nil, err } defer internal.CloseAndLogIfError(ctx, rows, "selectCrossSigningKeysForUserStmt: rows.close() failed") - r = api.CrossSigningKeyMap{} for rows.Next() { var keyType gomatrixserverlib.CrossSigningKeyPurpose var keyID gomatrixserverlib.KeyID @@ -76,6 +75,9 @@ func (s *crossSigningKeysStatements) SelectCrossSigningKeysForUser( if err := rows.Scan(&keyType, &keyID, &keyData); err != nil { return nil, err } + if _, ok := r[keyType]; !ok { + r[keyType] = map[gomatrixserverlib.KeyID]gomatrixserverlib.Base64Bytes{} + } r[keyType][keyID] = keyData } return