diff options
author | Till <2353100+S7evinK@users.noreply.github.com> | 2024-07-27 22:29:34 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-07-27 22:29:34 +0200 |
commit | affb6977e43ad5051761d0de650370f421f751b5 (patch) | |
tree | a5bec5b4295d2b400ee18df8f64492a080f1e08b /roomserver | |
parent | 795c4a9453e6775714ae73099e2a64df1c41743b (diff) |
Fix nil pointer derefernce issues (#3379)
Discovered while running
https://gitlab.futo.org/load-testing/matrix-goose.
Dendrite locks up and runs into `context cancelled`, so the error is not
`sql.ErrNoRows` nor "default" (and definitely shouldn't return that the
account exists in this case)
Diffstat (limited to 'roomserver')
-rw-r--r-- | roomserver/storage/postgres/user_room_keys_table.go | 3 | ||||
-rw-r--r-- | roomserver/storage/sqlite3/user_room_keys_table.go | 3 |
2 files changed, 6 insertions, 0 deletions
diff --git a/roomserver/storage/postgres/user_room_keys_table.go b/roomserver/storage/postgres/user_room_keys_table.go index 57e8f213..f8befc46 100644 --- a/roomserver/storage/postgres/user_room_keys_table.go +++ b/roomserver/storage/postgres/user_room_keys_table.go @@ -162,6 +162,9 @@ func (s *userRoomKeysStatements) SelectAllPublicKeysForUser(ctx context.Context, if errors.Is(err, sql.ErrNoRows) { return nil, nil } + if err != nil { + return nil, err + } defer internal.CloseAndLogIfError(ctx, rows, "SelectAllPublicKeysForUser: failed to close rows") resultMap := make(map[types.RoomNID]ed25519.PublicKey) diff --git a/roomserver/storage/sqlite3/user_room_keys_table.go b/roomserver/storage/sqlite3/user_room_keys_table.go index 13906f77..ef3b8fe2 100644 --- a/roomserver/storage/sqlite3/user_room_keys_table.go +++ b/roomserver/storage/sqlite3/user_room_keys_table.go @@ -177,6 +177,9 @@ func (s *userRoomKeysStatements) SelectAllPublicKeysForUser(ctx context.Context, if errors.Is(err, sql.ErrNoRows) { return nil, nil } + if err != nil { + return nil, err + } defer internal.CloseAndLogIfError(ctx, rows, "SelectAllPublicKeysForUser: failed to close rows") resultMap := make(map[types.RoomNID]ed25519.PublicKey) |