From 4cc0c80eb46e1eb4d4afa456e584566335798971 Mon Sep 17 00:00:00 2001 From: Patrick Cloke <patrickc@matrix.org> Date: Thu, 9 Feb 2023 10:10:12 -0500 Subject: [PATCH 1/2] Avoid mutating cached room aliases. --- synapse/handlers/directory.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/synapse/handlers/directory.py b/synapse/handlers/directory.py index 2ea52257cb9e..d31b0fbb1745 100644 --- a/synapse/handlers/directory.py +++ b/synapse/handlers/directory.py @@ -485,7 +485,8 @@ async def edit_published_room_list( ) ) 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( user_id, room_id, room_aliases From cb53d7fc30c93d257cc7a88957d55b7b1e7fa6d3 Mon Sep 17 00:00:00 2001 From: Patrick Cloke <patrickc@matrix.org> Date: Thu, 9 Feb 2023 10:11:56 -0500 Subject: [PATCH 2/2] Newsfragment --- changelog.d/15038.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 changelog.d/15038.bugfix diff --git a/changelog.d/15038.bugfix b/changelog.d/15038.bugfix new file mode 100644 index 000000000000..4695a097561c --- /dev/null +++ b/changelog.d/15038.bugfix @@ -0,0 +1 @@ +Fix a long-standing bug where the room aliases returned could be corrupted.