Avoid mutating cached room aliases. (#15038)

This might cause incorrect data in other callers which
are not expecting the canonical alias to be added into
the response.
This commit is contained in:
Patrick Cloke 2023-02-09 10:56:02 -05:00 committed by GitHub
parent 733531ee3e
commit 8a6e043488
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 1 deletions

1
changelog.d/15038.bugfix Normal file
View file

@ -0,0 +1 @@
Fix a long-standing bug where the room aliases returned could be corrupted.

View file

@ -485,7 +485,8 @@ class DirectoryHandler:
) )
) )
if canonical_alias: if canonical_alias:
room_aliases.append(canonical_alias) # Ensure we do not mutate room_aliases.
room_aliases = room_aliases + [canonical_alias]
if not self.config.roomdirectory.is_publishing_room_allowed( if not self.config.roomdirectory.is_publishing_room_allowed(
user_id, room_id, room_aliases user_id, room_id, room_aliases